Merge
This commit is contained in:
commit
a2a6cc1dd8
1
.hgtags-top-repo
Normal file
1
.hgtags-top-repo
Normal file
@ -0,0 +1 @@
|
||||
cfeea66a3fa8ca3686a7cfa2d0ce8ab0169f168d jdk7-b24
|
1
.jcheck/conf
Normal file
1
.jcheck/conf
Normal file
@ -0,0 +1 @@
|
||||
project=jdk7
|
141
Makefile
141
Makefile
@ -23,25 +23,25 @@
|
||||
# have any questions.
|
||||
#
|
||||
|
||||
BUILD_PARENT_DIRECTORY=.
|
||||
|
||||
ifndef TOPDIR
|
||||
TOPDIR:=$(shell \
|
||||
if [ -r ./j2se/make/Makefile -o -r ./jdk/make/Makefile ]; then \
|
||||
echo "."; \
|
||||
else \
|
||||
echo "../.."; \
|
||||
fi)
|
||||
TOPDIR:=.
|
||||
endif
|
||||
|
||||
ifndef CONTROL_TOPDIR
|
||||
CONTROL_TOPDIR=$(TOPDIR)/control
|
||||
CONTROL_TOPDIR:=$(shell \
|
||||
if [ -r $(TOPDIR)/control/make/Makefile ]; then \
|
||||
echo "$(TOPDIR)/control"; \
|
||||
else \
|
||||
echo "$(TOPDIR)"; \
|
||||
fi)
|
||||
CONTROL_TOPDIR=$(TOPDIR)
|
||||
endif
|
||||
|
||||
# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true)
|
||||
OPENJDK_SOURCETREE=$(TOPDIR)/openjdk
|
||||
OPENJDK_BUILDDIR:=$(shell \
|
||||
if [ -r $(OPENJDK_SOURCETREE)/Makefile ]; then \
|
||||
echo "$(OPENJDK_SOURCETREE)"; \
|
||||
else \
|
||||
echo "."; \
|
||||
fi)
|
||||
|
||||
ifndef JDK_TOPDIR
|
||||
JDK_TOPDIR=$(TOPDIR)/jdk
|
||||
endif
|
||||
@ -55,6 +55,7 @@ include ./make/Defs-internal.gmk
|
||||
|
||||
all::
|
||||
@$(ECHO) $(PLATFORM) $(ARCH) $(RELEASE) build started: `$(DATE) '+%y-%m-%d %H:%M'`
|
||||
$(MKDIR) -p $(OUTPUTDIR)
|
||||
|
||||
# Rules for sanity checks
|
||||
include ./make/sanity-rules.gmk
|
||||
@ -81,11 +82,24 @@ include ./make/deploy-rules.gmk
|
||||
|
||||
all:: setup build
|
||||
|
||||
setup:
|
||||
setup: openjdk_check
|
||||
$(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
|
||||
$(MKDIR) -p $(ABS_OUTPUTDIR)/j2sdk-image
|
||||
$(MKDIR) -p $(OUTPUTDIR)-fastdebug/j2sdk-image
|
||||
$(MKDIR) -p $(ABS_OUTPUTDIR)-fastdebug/j2sdk-image
|
||||
|
||||
# Check on whether we really can build the openjdk, need source etc.
|
||||
openjdk_check: FRC
|
||||
ifneq ($(SKIP_OPENJDK_BUILD), true)
|
||||
@$(ECHO) " "
|
||||
@$(ECHO) "================================================="
|
||||
@if [ ! -r $(OPENJDK_BUILDDIR)/Makefile ] ; then \
|
||||
$(ECHO) "ERROR: No openjdk source tree available at: $(OPENJDK_BUILDDIR)"; \
|
||||
exit 1; \
|
||||
else \
|
||||
$(ECHO) "OpenJDK will be built after JDK is built"; \
|
||||
$(ECHO) " OPENJDK_BUILDDIR=$(OPENJDK_BUILDDIR)"; \
|
||||
fi
|
||||
@$(ECHO) "================================================="
|
||||
@$(ECHO) " "
|
||||
endif
|
||||
|
||||
build:: sanity
|
||||
|
||||
@ -143,7 +157,7 @@ endif
|
||||
|
||||
COMMON_DEBUG_FLAGS= \
|
||||
DEBUG_NAME=$(DEBUG_NAME) \
|
||||
ALT_OUTPUTDIR=$(_OUTPUTDIR)-$(DEBUG_NAME) \
|
||||
ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)-$(DEBUG_NAME) \
|
||||
NO_DOCS=true
|
||||
|
||||
product_build: setup
|
||||
@ -190,46 +204,64 @@ ifneq ($(SKIP_COMPARE_IMAGES), true)
|
||||
all :: compare-image
|
||||
endif
|
||||
|
||||
ifeq ($(SKIP_OPENJDK_BUILD), false)
|
||||
ifneq ($(SKIP_OPENJDK_BUILD), true)
|
||||
all :: openjdk_build
|
||||
endif
|
||||
|
||||
# If we have bundle rules, we have a chance here to do a complete cycle
|
||||
# build, of production and open build.
|
||||
# FIXUP: We should create the openjdk source bundle and build that?
|
||||
# But how do we reliable create or get at a formal openjdk source tree?
|
||||
# The one we have needs to be trimmed of built bits and closed dirs.
|
||||
# The repositories might not be available.
|
||||
# The openjdk source bundle is probably not available.
|
||||
|
||||
ifneq ($(SKIP_OPENJDK_BUILD), true)
|
||||
ifeq ($(BUILD_JDK), true)
|
||||
ifeq ($(BUNDLE_RULES_AVAILABLE), true)
|
||||
# If we have bundle rules, we have a chance here to do a complete cycle
|
||||
# build, of closed and open build.
|
||||
# FIXUP: We should create the openjdk source bundle and build that?
|
||||
ABS_OPENJDK_PLUGS=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME)
|
||||
ABS_OPENJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/openjdk
|
||||
OPENJDK_BUILD_NAME_PREFIX \
|
||||
= $(J2SDK_NAME)-$(JDK_MKTG_UNDERSCORE_VERSION)-$(MILESTONE)
|
||||
OPENJDK_BUILD_NAME_SUFFIX \
|
||||
= $(BUILD_NUMBER)-$(PLATFORM)-$(ARCH)-$(BUNDLE_DATE)
|
||||
OPENJDK_BUILD_NAME \
|
||||
= $(OPENJDK_BUILD_NAME_PREFIX)-openjdk-$(OPENJDK_BUILD_NAME_SUFFIX)
|
||||
OPENJDK_BUILD_BINARY_ZIP \
|
||||
= $(ABS_BIN_BUNDLEDIR)/$(OPENJDK_BUILD_NAME).zip
|
||||
all :: openjdk-build
|
||||
openjdk-build:
|
||||
|
||||
OPENJDK_PLUGS=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME)
|
||||
OPENJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/open-output
|
||||
OPENJDK_BUILD_NAME \
|
||||
= openjdk-$(JDK_MINOR_VERSION)-$(BUILD_NUMBER)-$(PLATFORM)-$(ARCH)-$(BUNDLE_DATE)
|
||||
OPENJDK_BUILD_BINARY_ZIP=$(ABS_BIN_BUNDLEDIR)/$(OPENJDK_BUILD_NAME).zip
|
||||
BUILT_IMAGE=$(ABS_OUTPUTDIR)/j2sdk-image
|
||||
ifeq ($(PLATFORM)$(ARCH_DATA_MODEL),solaris64)
|
||||
OPENJDK_BOOTDIR=$(BOOTDIR)
|
||||
OPENJDK_IMPORTJDK=$(JDK_IMPORT_PATH)
|
||||
else
|
||||
OPENJDK_BOOTDIR=$(BUILT_IMAGE)
|
||||
OPENJDK_IMPORTJDK=$(BUILT_IMAGE)
|
||||
endif
|
||||
|
||||
openjdk_build:
|
||||
@$(ECHO) " "
|
||||
@$(ECHO) "================================================="
|
||||
@$(ECHO) "Starting openjdk build"
|
||||
@$(ECHO) " Using: ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR)"
|
||||
@$(ECHO) "================================================="
|
||||
@$(ECHO) " "
|
||||
$(RM) -r $(ABS_OPENJDK_OUTPUTDIR)
|
||||
$(MKDIR) -p $(ABS_OPENJDK_OUTPUTDIR)
|
||||
$(MAKE) OPENJDK=true \
|
||||
BUILD_LANGTOOLS=$(BUILD_LANGTOOLS) \
|
||||
BUILD_CORBA=$(BUILD_CORBA) \
|
||||
BUILD_JAXP=$(BUILD_JAXP) \
|
||||
BUILD_JAXWS=$(BUILD_JAXWS) \
|
||||
BUILD_HOTSPOT=$(BUILD_HOTSPOT) \
|
||||
ALT_OUTPUTDIR=$(ABS_OPENJDK_OUTPUTDIR) \
|
||||
ALT_BINARY_PLUGS_PATH=$(ABS_OUTPUTDIR)/$(OPENJDK_BINARY_PLUGS_INAME) \
|
||||
ALT_BOOTDIR=$(ABS_OUTPUTDIR)/j2sdk-image \
|
||||
ALT_JDK_IMPORT_PATH=$(ABS_OUTPUTDIR)/j2sdk-image \
|
||||
product_build
|
||||
$(RM) -r $(OPENJDK_OUTPUTDIR)
|
||||
$(MKDIR) -p $(OPENJDK_OUTPUTDIR)
|
||||
($(CD) $(OPENJDK_BUILDDIR) && $(MAKE) \
|
||||
OPENJDK=true \
|
||||
ALT_JDK_DEVTOOLS_DIR=$(JDK_DEVTOOLS_DIR) \
|
||||
ALT_OUTPUTDIR=$(OPENJDK_OUTPUTDIR) \
|
||||
ALT_BINARY_PLUGS_PATH=$(OPENJDK_PLUGS) \
|
||||
ALT_BOOTDIR=$(OPENJDK_BOOTDIR) \
|
||||
ALT_JDK_IMPORT_PATH=$(OPENJDK_IMPORTJDK) \
|
||||
product_build )
|
||||
$(RM) $(OPENJDK_BUILD_BINARY_ZIP)
|
||||
( $(CD) $(ABS_OPENJDK_OUTPUTDIR)/j2sdk-image && \
|
||||
( $(CD) $(OPENJDK_OUTPUTDIR)/j2sdk-image && \
|
||||
$(ZIPEXE) -q -r $(OPENJDK_BUILD_BINARY_ZIP) .)
|
||||
$(RM) -r $(ABS_OPENJDK_OUTPUTDIR)
|
||||
$(RM) -r $(OPENJDK_OUTPUTDIR)
|
||||
@$(ECHO) " "
|
||||
@$(ECHO) "================================================="
|
||||
@$(ECHO) "Finished openjdk build"
|
||||
@$(ECHO) " Binary Bundle: $(OPENJDK_BUILD_BINARY_ZIP)"
|
||||
@$(ECHO) "================================================="
|
||||
@$(ECHO) " "
|
||||
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@ -432,11 +464,11 @@ endif
|
||||
# Cycle build. Build the jdk, use it to build the jdk again.
|
||||
################################################################
|
||||
|
||||
ABS_BOOTJDK_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
|
||||
ABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
|
||||
|
||||
boot_cycle:
|
||||
$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTJDK_OUTPUTDIR) product_build
|
||||
$(MAKE) ALT_BOOTDIR=$(ABS_BOOTJDK_OUTPUTDIR)/j2sdk-image product_build
|
||||
$(MAKE) ALT_OUTPUTDIR=$(ABS_BOOTDIR_OUTPUTDIR) product_build
|
||||
$(MAKE) ALT_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image product_build
|
||||
|
||||
################################################################
|
||||
# JPRT rule to build
|
||||
@ -452,7 +484,6 @@ include ./make/jprt.gmk
|
||||
fastdebug_build debug_build product_build setup \
|
||||
dev dev-build dev-sanity dev-clobber
|
||||
|
||||
# FIXUP: Old j2se targets
|
||||
j2se_fastdebug_only: jdk_fastdebug_only
|
||||
j2se_only: jdk_only
|
||||
# Force target
|
||||
FRC:
|
||||
|
||||
|
@ -342,32 +342,29 @@
|
||||
|
||||
<blockquote>
|
||||
<p>
|
||||
The source code for the
|
||||
OpenJDK is
|
||||
delivered in <i>3</i> sibling directories:
|
||||
The source code for the OpenJDK is delivered in a set of
|
||||
directories:
|
||||
<tt>hotspot</tt>,
|
||||
<tt>langtools</tt>,
|
||||
<tt>corba</tt>,
|
||||
<tt>jaxws</tt>,
|
||||
<tt>jaxp</tt>,
|
||||
<tt>jdk</tt>
|
||||
and
|
||||
<tt>jdk</tt>.
|
||||
The <tt>hotspot</tt> directory contains the source code and make
|
||||
files for
|
||||
building the
|
||||
OpenJDK
|
||||
Hotspot Virtual Machine.
|
||||
The <tt>jdk</tt>
|
||||
directory contains the source code and make files for
|
||||
building the
|
||||
OpenJDK
|
||||
runtime libraries, tools and demos.
|
||||
The top level Makefile is used to build the complete OpenJDK
|
||||
release including building the hotspot
|
||||
VM, staging the VM binaries, and building the
|
||||
OpenJDK
|
||||
runtime libraries,
|
||||
tools and demos.
|
||||
files for building the OpenJDK Hotspot Virtual Machine.
|
||||
The <tt>langtools</tt> directory contains the source code and make
|
||||
files for building the OpenJDK javac and language tools.
|
||||
The <tt>corba</tt> directory contains the source code and make
|
||||
files for building the OpenJDK Corba files.
|
||||
The <tt>jaxws</tt> directory contains the source code and make
|
||||
files for building the OpenJDK JAXWS files.
|
||||
The <tt>jaxp</tt> directory contains the source code and make
|
||||
files for building the OpenJDK JAXP files.
|
||||
The <tt>jdk</tt> directory contains the source code and make files for
|
||||
building the OpenJDK runtime libraries and misc files.
|
||||
The top level <tt>Makefile</tt>
|
||||
is used to build the entire OpenJDK.
|
||||
</blockquote>
|
||||
|
||||
<!-- ------------------------------------------------------ -->
|
||||
@ -730,17 +727,15 @@
|
||||
under an open-source license.
|
||||
In order to build an OpenJDK binary from source code,
|
||||
you must first download and install the appropriate
|
||||
binary plug bundles from the OpenJDK Download area.
|
||||
binary plug bundles from the OpenJDK, go to the
|
||||
<a href="http://openjdk.java.net">OpenJDK</a> site and select
|
||||
the "<b>Bundles(7)</b>" link.
|
||||
During the OpenJDK build process these "binary plugs"
|
||||
for the encumbered components will be copied into your
|
||||
resulting OpenJDK binary build image.
|
||||
These binary plug files are only for the purpose of
|
||||
building an OpenJDK binary.
|
||||
Download the Binary Plugs by selecting the <b>Downloads</b>
|
||||
link at
|
||||
<a href="http://openjdk.java.net/">the OpenJDK site</a>,
|
||||
install the bundle,
|
||||
and make sure you set
|
||||
Make sure you set
|
||||
<tt><a href="#ALT_BINARY_PLUGS_PATH">ALT_BINARY_PLUGS_PATH</a></tt>
|
||||
to the root of this installation.
|
||||
</blockquote>
|
||||
|
1
corba/.hgtags
Normal file
1
corba/.hgtags
Normal file
@ -0,0 +1 @@
|
||||
55540e827aef970ecc010b7e06b912d991c8e3ce jdk7-b24
|
1
corba/.jcheck/conf
Normal file
1
corba/.jcheck/conf
Normal file
@ -0,0 +1 @@
|
||||
project=jdk7
|
@ -281,6 +281,13 @@ endif
|
||||
# Get platform specific settings
|
||||
include $(BUILDDIR)/common/shared/Defs-$(PLATFORM).gmk
|
||||
|
||||
# Components
|
||||
ifdef ALT_LANGTOOLS_DIST
|
||||
LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST))
|
||||
else
|
||||
LANGTOOLS_DIST =
|
||||
endif
|
||||
|
||||
# These are the same on all platforms but require the above platform include 1st
|
||||
|
||||
# BOOTDIR: Bootstrap JDK, previous released JDK.
|
||||
|
@ -318,7 +318,7 @@ ORB classes:
|
||||
|
||||
11. RequestHandler and ORB
|
||||
|
||||
The RH interface is currently implemented in the ORB class, but migþt better be a separate
|
||||
The RH interface is currently implemented in the ORB class, but might better be a separate
|
||||
class. The API is currently almost the same as a ServerSubcontract. Should we regularize
|
||||
this? Also, the API would need to be extended to handle shutdown properly.
|
||||
|
||||
|
@ -774,18 +774,18 @@ module CORBA {
|
||||
|
||||
// orbos 98-01-18: Objects By Value -- end
|
||||
|
||||
enum TCKind {
|
||||
tk_null, tk_void,
|
||||
enum TCKind {
|
||||
tk_null, tk_void,
|
||||
tk_short, tk_long, tk_ushort, tk_ulong,
|
||||
tk_float, tk_double, tk_boolean, tk_char,
|
||||
tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref,
|
||||
tk_struct, tk_union, tk_enum, tk_string,
|
||||
tk_sequence, tk_array, tk_alias, tk_except,
|
||||
tk_longlong, tk_ulonglong, tk_longdouble,
|
||||
tk_wchar, tk_wstring, tk_fixed,
|
||||
tk_value, tk_value_box,
|
||||
tk_native,
|
||||
tk_abstract_interface
|
||||
tk_float, tk_double, tk_boolean, tk_char,
|
||||
tk_octet, tk_any, tk_TypeCode, tk_Principal, tk_objref,
|
||||
tk_struct, tk_union, tk_enum, tk_string,
|
||||
tk_sequence, tk_array, tk_alias, tk_except,
|
||||
tk_longlong, tk_ulonglong, tk_longdouble,
|
||||
tk_wchar, tk_wstring, tk_fixed,
|
||||
tk_value, tk_value_box,
|
||||
tk_native,
|
||||
tk_abstract_interface
|
||||
};
|
||||
|
||||
interface NativeDef : TypedefDef {
|
||||
|
@ -1042,24 +1042,24 @@ module DynamicAny {
|
||||
/**
|
||||
* DynValueCommon provides operations supported by both the DynValue and DynValueBox interfaces.
|
||||
*/
|
||||
interface DynValueCommon : DynAny {
|
||||
interface DynValueCommon : DynAny {
|
||||
/**
|
||||
* Returns true if the DynValueCommon represents a null value type.
|
||||
*/
|
||||
boolean is_null();
|
||||
boolean is_null();
|
||||
|
||||
/**
|
||||
* Changes the representation of a DynValueCommon to a null value type.
|
||||
*/
|
||||
void set_to_null();
|
||||
void set_to_null();
|
||||
|
||||
/**
|
||||
* Replaces a null value type with a newly constructed value. Its components are initialized
|
||||
* to default values as in DynAnyFactory.create_dyn_any_from_type_code.
|
||||
* If the DynValueCommon represents a non-null value type, then this operation has no effect.
|
||||
*/
|
||||
void set_to_value();
|
||||
};
|
||||
void set_to_value();
|
||||
};
|
||||
|
||||
/**
|
||||
* DynValue objects support the manipulation of IDL non-boxed value types.
|
||||
@ -1164,14 +1164,14 @@ module DynamicAny {
|
||||
* of the boxed type. A DynValueBox representing a null value type has no components
|
||||
* and a current position of -1.
|
||||
*/
|
||||
interface DynValueBox : DynValueCommon {
|
||||
interface DynValueBox : DynValueCommon {
|
||||
|
||||
/**
|
||||
* Returns the boxed value as an Any.
|
||||
*
|
||||
* @exception InvalidValue if this object represents a null value box type
|
||||
*/
|
||||
any get_boxed_value()
|
||||
any get_boxed_value()
|
||||
raises(InvalidValue);
|
||||
|
||||
/**
|
||||
@ -1189,7 +1189,7 @@ module DynamicAny {
|
||||
*
|
||||
* @exception InvalidValue if this object represents a null value box type
|
||||
*/
|
||||
DynAny get_boxed_value_as_dyn_any()
|
||||
DynAny get_boxed_value_as_dyn_any()
|
||||
raises(InvalidValue);
|
||||
|
||||
/**
|
||||
@ -1199,7 +1199,7 @@ module DynamicAny {
|
||||
* @exception TypeMismatch if this object represents a non-null value box type and the type
|
||||
* of the parameter is not matching the current boxed value type.
|
||||
*/
|
||||
void set_boxed_value_as_dyn_any(in DynAny boxed)
|
||||
void set_boxed_value_as_dyn_any(in DynAny boxed)
|
||||
raises(TypeMismatch);
|
||||
};
|
||||
|
||||
|
1
hotspot/.hgtags
Normal file
1
hotspot/.hgtags
Normal file
@ -0,0 +1 @@
|
||||
a61af66fc99eb5ec9d50c05b0c599757b1289ceb jdk7-b24
|
1
hotspot/.jcheck/conf
Normal file
1
hotspot/.jcheck/conf
Normal file
@ -0,0 +1 @@
|
||||
project=jdk7
|
1
jaxp/.hgtags
Normal file
1
jaxp/.hgtags
Normal file
@ -0,0 +1 @@
|
||||
6ce5f4757bde08f7470cbb9f0b46da8f2f3d4f56 jdk7-b24
|
1
jaxp/.jcheck/conf
Normal file
1
jaxp/.jcheck/conf
Normal file
@ -0,0 +1 @@
|
||||
project=jdk7
|
@ -90,7 +90,6 @@ ifdef ALT_OUTPUTDIR
|
||||
else
|
||||
OUTPUTDIR = ..
|
||||
endif
|
||||
ABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR))
|
||||
|
||||
ifdef ALT_LANGTOOLS_DIST
|
||||
ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap
|
||||
@ -127,7 +126,11 @@ $(ANT_TARGETS):
|
||||
$(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) $@
|
||||
|
||||
# Targets for Sun's internal JPRT build system
|
||||
JPRT_ARCHIVE_BUNDLE=$(OUTPUTDIR)/jprt.zip
|
||||
jprt_build_product jprt_build_debug jprt_build_fastdebug: all
|
||||
$(RM) $(JPRT_ARCHIVE_BUNDLE)
|
||||
( cd $(OUTPUTDIR)/dist && \
|
||||
zip -q -r $(JPRT_ARCHIVE_BUNDLE) . )
|
||||
|
||||
# Declare these phony (not filenames)
|
||||
.PHONY: $(ANT_TARGETS) all clobber \
|
||||
|
1
jaxws/.hgtags
Normal file
1
jaxws/.hgtags
Normal file
@ -0,0 +1 @@
|
||||
0961a4a211765fea071b8dac419003ee0c3d5973 jdk7-b24
|
1
jaxws/.jcheck/conf
Normal file
1
jaxws/.jcheck/conf
Normal file
@ -0,0 +1 @@
|
||||
project=jdk7
|
@ -69,7 +69,7 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
# Note: j2se/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN)
|
||||
# Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN)
|
||||
# and the somewhat misnamed CLASS_VERSION (-target NN)
|
||||
ifdef TARGET_CLASS_VERSION
|
||||
ANT_OPTIONS += -Djavac.target=$(TARGET_CLASS_VERSION)
|
||||
@ -90,7 +90,6 @@ ifdef ALT_OUTPUTDIR
|
||||
else
|
||||
OUTPUTDIR = ..
|
||||
endif
|
||||
ABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR))
|
||||
|
||||
ifdef ALT_LANGTOOLS_DIST
|
||||
ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap
|
||||
@ -127,7 +126,11 @@ $(ANT_TARGETS):
|
||||
$(ANT_JAVA_HOME) $(ANT) $(ANT_OPTIONS) $@
|
||||
|
||||
# Targets for Sun's internal JPRT build system
|
||||
JPRT_ARCHIVE_BUNDLE=$(OUTPUTDIR)/jprt.zip
|
||||
jprt_build_product jprt_build_debug jprt_build_fastdebug: all
|
||||
$(RM) $(JPRT_ARCHIVE_BUNDLE)
|
||||
( cd $(OUTPUTDIR)/dist && \
|
||||
zip -q -r $(JPRT_ARCHIVE_BUNDLE) . )
|
||||
|
||||
# Declare these phony (not filenames)
|
||||
.PHONY: $(ANT_TARGETS) all clobber \
|
||||
|
1
jdk/.hgtags
Normal file
1
jdk/.hgtags
Normal file
@ -0,0 +1 @@
|
||||
37a05a11f281b4d238e2f9e7ebb67c63f64d0e77 jdk7-b24
|
1
jdk/.jcheck/conf
Normal file
1
jdk/.jcheck/conf
Normal file
@ -0,0 +1 @@
|
||||
project=jdk7
|
@ -50,13 +50,13 @@ CC_DEPEND = -MM
|
||||
CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g'
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(JDK_TOPDIR)/src/solaris
|
||||
PLATFORM_SRC = $(BUILDDIR)/../src/solaris
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# Platform specific closed sources
|
||||
ifndef OPENJDK
|
||||
ifndef CLOSED_PLATFORM_SRC
|
||||
CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/solaris
|
||||
CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -45,13 +45,13 @@
|
||||
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(JDK_TOPDIR)/src/solaris
|
||||
PLATFORM_SRC = $(BUILDDIR)/../src/solaris
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# Platform specific closed sources
|
||||
ifndef OPENJDK
|
||||
ifndef CLOSED_PLATFORM_SRC
|
||||
CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/solaris
|
||||
CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -51,13 +51,13 @@ ifndef LIB_LOCATION
|
||||
endif # LIB_LOCATION
|
||||
|
||||
ifndef PLATFORM_SRC
|
||||
PLATFORM_SRC = $(JDK_TOPDIR)/src/windows
|
||||
PLATFORM_SRC = $(BUILDDIR)/../src/windows
|
||||
endif # PLATFORM_SRC
|
||||
|
||||
# Platform specific closed sources
|
||||
ifndef OPENJDK
|
||||
ifndef CLOSED_PLATFORM_SRC
|
||||
CLOSED_PLATFORM_SRC = $(JDK_TOPDIR)/src/closed/windows
|
||||
CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/windows
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -367,7 +367,7 @@ else
|
||||
endif
|
||||
|
||||
# Settings for the VERSIONINFO tap on windows.
|
||||
VERSIONINFO_RESOURCE = $(JDK_TOPDIR)/src/windows/resource/version.rc
|
||||
VERSIONINFO_RESOURCE = $(BUILDDIR)/../src/windows/resource/version.rc
|
||||
|
||||
ifneq ($(JDK_BUILD_NUMBER),)
|
||||
COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//')
|
||||
|
@ -32,6 +32,13 @@
|
||||
# So when it includes other files, it must use JDK_TOPDIR.
|
||||
#
|
||||
|
||||
# Check for strange explicit settings (change to empty or true)
|
||||
ifdef OPENJDK
|
||||
ifneq ($(OPENJDK),true)
|
||||
x:=$(error "OPENJDK (if defined) can only be set to true")
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# On Solaris, the 'make' utility from Sun will not work with these makefiles.
|
||||
# This little rule is only understood by Sun's make, and is harmless
|
||||
@ -41,7 +48,15 @@
|
||||
SUN_MAKE_TEST:sh = echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
|
||||
|
||||
ifndef JDK_TOPDIR
|
||||
JDK_TOPDIR=$(BUILDDIR)/..
|
||||
ifdef BUILDDIR
|
||||
JDK_TOPDIR=$(BUILDDIR)/..
|
||||
else
|
||||
JDK_TOPDIR:=$(error "ERROR: Cannot define top of jdk repository")
|
||||
endif
|
||||
endif
|
||||
ifndef BUILDDIR
|
||||
# Hack, due to deploy repository using this file.
|
||||
BUILDDIR=$(JDK_TOPDIR)/make
|
||||
endif
|
||||
ifndef JDK_MAKE_SHARED_DIR
|
||||
JDK_MAKE_SHARED_DIR=$(JDK_TOPDIR)/make/common/shared
|
||||
@ -59,13 +74,13 @@ include $(JDK_TOPDIR)/make/common/CancelImplicits.gmk
|
||||
# there yet.
|
||||
#
|
||||
ifndef SHARE_SRC
|
||||
SHARE_SRC = $(JDK_TOPDIR)/src/share
|
||||
SHARE_SRC = $(BUILDDIR)/../src/share
|
||||
endif
|
||||
|
||||
# Files that cannot be included in the OpenJDK distribution are
|
||||
# collected under a parent directory which contains just those files.
|
||||
ifndef CLOSED_SRC
|
||||
CLOSED_SRC = $(JDK_TOPDIR)/src/closed
|
||||
CLOSED_SRC = $(BUILDDIR)/../src/closed
|
||||
endif
|
||||
|
||||
# If we have no closed directory, force it to an openjdk build
|
||||
@ -79,19 +94,6 @@ ifeq ($(CLOSED_SRC_DIR_EXISTS), false)
|
||||
OPENJDK = true
|
||||
endif
|
||||
|
||||
# Check for strange explicit settings (change to empty or true)
|
||||
ifdef OPENJDK
|
||||
ifeq ($(OPENJDK),false)
|
||||
# Silently treat as not defined
|
||||
OPENJDK =
|
||||
else
|
||||
ifneq ($(OPENJDK),true)
|
||||
dummy := $(warning "WARNING: OPENKJDK=$(OPENJDK) being treated as true")
|
||||
OPENJDK = true
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Define where closed directories are
|
||||
ifdef OPENJDK
|
||||
CLOSED_SRC =
|
||||
@ -170,14 +172,6 @@ ifdef OPENJDK
|
||||
endif
|
||||
endif # OPENJDK
|
||||
|
||||
# Default output directory
|
||||
ifdef OPENJDK
|
||||
_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
|
||||
else
|
||||
_OUTPUTDIR=$(JDK_TOPDIR)/build/$(PLATFORM)-$(ARCH)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# Get platform definitions
|
||||
#
|
||||
|
@ -36,7 +36,7 @@ ifndef JDK_MAKE_SHARED_DIR
|
||||
endif
|
||||
|
||||
ifndef CONTROL_TOPDIR
|
||||
CONTROL_TOPDIR=$(TOPDIR)/control
|
||||
CONTROL_TOPDIR=$(TOPDIR)
|
||||
endif
|
||||
ifndef HOTSPOT_TOPDIR
|
||||
HOTSPOT_TOPDIR=$(TOPDIR)/hotspot
|
||||
@ -70,7 +70,8 @@ endif
|
||||
include $(JDK_MAKE_SHARED_DIR)/Platform.gmk
|
||||
|
||||
# Default output directory
|
||||
_OUTPUTDIR=$(CONTROL_TOPDIR)/build/$(PLATFORM)-$(ARCH)
|
||||
BUILD_PARENT_DIRECTORY=$(TOPDIR)
|
||||
_OUTPUTDIR=$(TOPDIR)/build/$(PLATFORM)-$(ARCH)
|
||||
|
||||
# Get platform specific settings
|
||||
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
|
||||
|
@ -67,16 +67,6 @@ ifeq ($(PLATFORM),windows)
|
||||
UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
|
||||
endif
|
||||
|
||||
# Utilities ant and findbugs
|
||||
ifndef ANT_HOME
|
||||
ANT_HOME = $(JDK_DEVTOOLS_DIR)/share/ant/latest
|
||||
endif
|
||||
ANT = $(ANT_HOME)/bin/ant
|
||||
ifndef FINDBUGS_HOME
|
||||
FINDBUGS_HOME = $(JDK_DEVTOOLS_DIR)/share/findbugs/latest
|
||||
endif
|
||||
FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs
|
||||
|
||||
# Utilities
|
||||
ADB = $(UTILS_COMMAND_PATH)adb
|
||||
AR = $(UTILS_CCS_BIN_PATH)ar
|
||||
|
@ -55,7 +55,10 @@ include $(JDK_MAKE_SHARED_DIR)/Defs-utils.gmk
|
||||
|
||||
# Simple pwd path
|
||||
define PwdPath
|
||||
$(shell cd $1 2> $(DEV_NULL) && pwd)
|
||||
$(shell $(CD) $1 2> $(DEV_NULL) && $(PWD))
|
||||
endef
|
||||
define AbsPwdPathCheck
|
||||
$(shell $(CD) .. 2> $(DEV_NULL) && $(CD) $1 2> $(DEV_NULL) && $(PWD))
|
||||
endef
|
||||
|
||||
# Checks an ALT value for spaces (should be one word),
|
||||
@ -422,23 +425,54 @@ CACERTS_FILE:=$(call AltCheckSpaces,CACERTS_FILE)
|
||||
CACERTS_FILE:=$(call AltCheckValue,CACERTS_FILE)
|
||||
|
||||
# OUTPUTDIR: Location of all output for the build
|
||||
_BACKUP_OUTPUTDIR = $(TEMP_DISK)/$(USER)/jdk-outputdir
|
||||
ifdef ALT_OUTPUTDIR
|
||||
_POSSIBLE_OUTPUTDIR =$(subst \,/,$(ALT_OUTPUTDIR))
|
||||
OUTPUTDIR:=$(subst \,/,$(ALT_OUTPUTDIR))
|
||||
# Assumes this is absolute (checks later)
|
||||
ABS_OUTPUTDIR:=$(OUTPUTDIR)
|
||||
else
|
||||
ifndef _OUTPUTDIR
|
||||
_OUTPUTDIR = $(_BACKUP_OUTPUTDIR)
|
||||
# Default: Get "build" parent directory, which should always exist
|
||||
ifndef BUILD_PARENT_DIRECTORY
|
||||
BUILD_PARENT_DIRECTORY=$(BUILDDIR)/..
|
||||
endif
|
||||
ABS_BUILD_PARENT_DIRECTORY:=$(call FullPath,$(BUILD_PARENT_DIRECTORY))
|
||||
ifdef OPENJDK
|
||||
_OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)$(OPENJDK_SUFFIX)
|
||||
else
|
||||
_OUTPUTDIRNAME=$(PLATFORM)-$(ARCH)
|
||||
endif
|
||||
_OUTPUTDIR=$(BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
|
||||
ABS_OUTPUTDIR:=$(ABS_BUILD_PARENT_DIRECTORY)/build/$(_OUTPUTDIRNAME)
|
||||
endif
|
||||
_POSSIBLE_OUTPUTDIR =$(_OUTPUTDIR)
|
||||
endif
|
||||
_create_outputdir1:=$(shell mkdir -p $(_POSSIBLE_OUTPUTDIR) > $(DEV_NULL) 2>&1)
|
||||
OUTPUTDIR:=$(call WriteDirExists,$(_POSSIBLE_OUTPUTDIR),$(_BACKUP_OUTPUTDIR))
|
||||
_create_outputdir2:=$(shell mkdir -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1)
|
||||
ifeq "$(OUTPUTDIR)" "$(_BACKUP_OUTPUTDIR)"
|
||||
_outputdir_warning:=$(warning "WARNING: OUTPUTDIR '$(_POSSIBLE_OUTPUTDIR)' not writable, will use '$(_BACKUP_OUTPUTDIR)'")
|
||||
OUTPUTDIR:=$(_OUTPUTDIR)
|
||||
endif
|
||||
# Check for spaces and null value
|
||||
OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR)
|
||||
OUTPUTDIR:=$(call AltCheckValue,OUTPUTDIR)
|
||||
# Create the output directory and make sure it exists and is writable
|
||||
_create_outputdir:=$(shell $(MKDIR) -p "$(OUTPUTDIR)" > $(DEV_NULL) 2>&1)
|
||||
ifeq ($(call WriteDirExists,$(OUTPUTDIR),/dev/null),/dev/null)
|
||||
_outputdir_error:=$(error "ERROR: OUTPUTDIR '$(OUTPUTDIR)' not created or not writable")
|
||||
endif
|
||||
# Define absolute path if needed and check for spaces and null value
|
||||
ifndef ABS_OUTPUTDIR
|
||||
ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
|
||||
endif
|
||||
ABS_OUTPUTDIR:=$(call AltCheckSpaces,ABS_OUTPUTDIR)
|
||||
ABS_OUTPUTDIR:=$(call AltCheckValue,ABS_OUTPUTDIR)
|
||||
# Make doubly sure this is a full path
|
||||
ifeq ($(call AbsPwdPathCheck,$(ABS_OUTPUTDIR)), )
|
||||
ifdef ALT_OUTPUTDIR
|
||||
_outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)', was ALT_OUTPUTDIR '$(ALT_OUTPUTDIR)' an absolute path?")
|
||||
else
|
||||
_outputdir_error:=$(error "ERROR: Trouble with the absolute path for OUTPUTDIR '$(OUTPUTDIR)'")
|
||||
endif
|
||||
endif
|
||||
_dir1:=$(call FullPath,$(ABS_OUTPUTDIR))
|
||||
_dir2:=$(call FullPath,$(OUTPUTDIR))
|
||||
ifneq ($(_dir1),$(_dir2))
|
||||
_outputdir_error:=$(error "ERROR: ABS_OUTPUTDIR '$(ABS_OUTPUTDIR)' is not the same directory as OUTPUTDIR '$(OUTPUTDIR)', '$(_dir1)'!='$(_dir2)'")
|
||||
endif
|
||||
|
||||
# Bin directory
|
||||
# NOTE: ISA_DIR is usually empty, on Solaris it might be /sparcv9 or /amd64
|
||||
@ -469,15 +503,30 @@ JDK_CUPS_HEADERS_PATH=$(JDK_DEVTOOLS_DIR)/share/cups/include
|
||||
endif
|
||||
endif
|
||||
|
||||
# Utilities ant and findbugs
|
||||
ifeq ($(ANT_HOME),)
|
||||
ANT_HOME := $(call DirExists,/usr/share/ant,$(JDK_DEVTOOLS_DIR)/share/ant/latest,)
|
||||
endif
|
||||
ifeq ($(ANT_HOME),)
|
||||
ANT = ant
|
||||
else
|
||||
ANT = $(ANT_HOME)/bin/ant
|
||||
endif
|
||||
ifeq ($(FINDBUGS_HOME),)
|
||||
FINDBUGS_HOME := $(call DirExists,/usr/share/findbugs,$(JDK_DEVTOOLS_DIR)/share/findbugs/latest,)
|
||||
endif
|
||||
ifeq ($(FINDBUGS_HOME),)
|
||||
FINDBUGS = findbugs
|
||||
else
|
||||
FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs
|
||||
endif
|
||||
|
||||
ifdef ALT_COPYRIGHT_YEAR
|
||||
COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
|
||||
else
|
||||
COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
|
||||
endif
|
||||
|
||||
# Absolute path to output directory
|
||||
ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
|
||||
|
||||
# Get shared compiler settings
|
||||
include $(JDK_MAKE_SHARED_DIR)/Compiler.gmk
|
||||
|
||||
|
@ -93,20 +93,18 @@ SYSTEM_UNAME := $(shell uname)
|
||||
# Normal boot jdk is previous release, but a hard requirement is a 1.5 boot
|
||||
REQUIRED_BOOT_VER = 1.5
|
||||
|
||||
#This is specific to OpenJDK build
|
||||
ifdef OPENJDK
|
||||
REQUIRED_FREETYPE_VERSION=2.3.0
|
||||
endif
|
||||
# If we are using freetype, this is the required version
|
||||
REQUIRED_FREETYPE_VERSION=2.3.0
|
||||
|
||||
#
|
||||
# Prune out all known SCM (Source Code Management) directories
|
||||
# so they will not be included when copying directory trees
|
||||
# or packaging up .jar files, etc. This applies to all workspaces.
|
||||
#
|
||||
SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files
|
||||
SCM_DIRs = .hg .svn CVS RCS SCCS Codemgr_wsdata deleted_files .hgignore .hgtags
|
||||
# When changing SCM_DIRs also change SCM_DIRS_rexp and SCM_DIRS_prune:
|
||||
SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files"
|
||||
SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files \) -prune
|
||||
SCM_DIRS_rexp = ".hg|.svn|CVS|RCS|SCCS|Codemgr_wsdata|deleted_files|.hgignore|.hgtags"
|
||||
SCM_DIRS_prune = \( -name .hg -o -name .svn -o -name CVS -o -name RCS -o -name SCCS -o -name Codemgr_wsdata -o -name deleted_files -o -name .hgignore -o -name .hgtags \) -prune
|
||||
|
||||
# Don't define this unless it's not defined
|
||||
ifndef VARIANT
|
||||
@ -272,7 +270,7 @@ ifeq ($(SYSTEM_UNAME), Linux)
|
||||
REQUIRED_ALSA_VERSION = ^((0[.]9[.][1-9])|(1[.]0[.][0-9]))[0-9]*
|
||||
endif
|
||||
# How much RAM does this machine have:
|
||||
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | sed -e 's@\ \ *@ @g' | cut -d' ' -f2)
|
||||
MB_OF_MEMORY := $(shell free -m | fgrep Mem: | awk '{print $$2;}' )
|
||||
endif
|
||||
|
||||
# Windows with and without CYGWIN will be slightly different
|
||||
@ -376,45 +374,35 @@ ifeq ($(PLATFORM), windows)
|
||||
REQUIRED_DXSDK_VER = 0x0700
|
||||
OS_VENDOR = Microsoft
|
||||
# How much RAM does this machine have:
|
||||
MB_OF_MEMORY := $(shell \
|
||||
if [ -f "C:/cygwin/bin/free.exe" ] ; then \
|
||||
( C:/cygwin/bin/bash.exe -c "C:/cygwin/bin/free.exe -m" ) | \
|
||||
grep Mem: | \
|
||||
sed -e 's@\ \ *@ @g' | cut -d' ' -f2 ; \
|
||||
else \
|
||||
echo "512"; \
|
||||
fi)
|
||||
endif
|
||||
|
||||
# Machines with 512Mb or less of real memory are considered low memory
|
||||
# build machines and adjustments will be made to prevent excessing
|
||||
# system swapping during the build.
|
||||
# If we don't know, assume 512. Subtract 128 from MB for VM MAX.
|
||||
# Don't set VM max over 1024-128=896.
|
||||
ifneq ($(MB_OF_MEMORY),)
|
||||
LOW_MEMORY_MACHINE := $(shell \
|
||||
if [ $(MB_OF_MEMORY) -le 512 ] ; then \
|
||||
echo "true"; \
|
||||
else \
|
||||
echo "false"; \
|
||||
fi)
|
||||
MAX_VM_MEMORY := $(shell \
|
||||
if [ $(MB_OF_MEMORY) -le 1024 ] ; then \
|
||||
expr $(MB_OF_MEMORY) '-' 128 ; \
|
||||
else \
|
||||
echo "896"; \
|
||||
fi)
|
||||
MIN_VM_MEMORY := $(shell \
|
||||
if [ $(MAX_VM_MEMORY) -le 128 ] ; then \
|
||||
expr $(MAX_VM_MEMORY) '-' 8 ; \
|
||||
else \
|
||||
echo "128"; \
|
||||
fi)
|
||||
else
|
||||
MB_OF_MEMORY := unknown
|
||||
LOW_MEMORY_MACHINE := true
|
||||
MAX_VM_MEMORY := 384
|
||||
MIN_VM_MEMORY := 128
|
||||
ifeq ($(USING_CYGWIN),true)
|
||||
# CYGWIN has the 'free' utility
|
||||
_MB_OF_MEMORY := \
|
||||
$(shell free -m | grep Mem: | awk '{print $$2;}' )
|
||||
else
|
||||
# Windows 2000 has the mem utility, but two memory areas
|
||||
# extended memory is what is beyond 1024M
|
||||
_B_OF_EXT_MEMORY := \
|
||||
$(shell mem 2> $(DEV_NULL) | grep 'total contiguous extended memory' | awk '{print $$1;}')
|
||||
ifeq ($(_B_OF_EXT_MEMORY),)
|
||||
_B_OF_MEMORY := \
|
||||
$(shell mem 2> $(DEV_NULL) | grep 'total conventional memory' | awk '{print $$1;}')
|
||||
else
|
||||
_B_OF_MEMORY := \
|
||||
$(shell expr 1048576 '+' $(_B_OF_EXT_MEMORY) 2> $(DEV_NULL))
|
||||
endif
|
||||
ifeq ($(_B_OF_MEMORY),)
|
||||
# Windows 2003 has the systeminfo utility use it if mem doesn't work
|
||||
_MB_OF_MEMORY := \
|
||||
$(shell systeminfo 2> $(DEV_NULL) | grep 'Total Physical Memory:' | awk '{print $$4;}' | sed -e 's@,@@')
|
||||
else
|
||||
_MB_OF_MEMORY := $(shell expr $(_B_OF_MEMORY) '/' 1024 2> $(DEV_NULL))
|
||||
endif
|
||||
endif
|
||||
ifeq ($(shell expr $(_MB_OF_MEMORY) '+' 0 2> $(DEV_NULL)), $(_MB_OF_MEMORY))
|
||||
MB_OF_MEMORY := $(_MB_OF_MEMORY)
|
||||
else
|
||||
MB_OF_MEMORY := 512
|
||||
endif
|
||||
endif
|
||||
|
||||
REQUIRED_ZIP_VER = 2.2
|
||||
@ -454,6 +442,37 @@ ifneq ($(PLATFORM), windows)
|
||||
ARCH_VM_SUBDIR=jre/lib/$(LIBARCH)
|
||||
endif
|
||||
|
||||
# Machines with 512Mb or less of real memory are considered low memory
|
||||
# build machines and adjustments will be made to prevent excessing
|
||||
# system swapping during the build.
|
||||
# If we don't know, assume 512. Subtract 128 from MB for VM MAX.
|
||||
# Don't set VM max over 1024-128=896.
|
||||
ifneq ($(MB_OF_MEMORY),)
|
||||
LOW_MEMORY_MACHINE := $(shell \
|
||||
if [ $(MB_OF_MEMORY) -le 512 ] ; then \
|
||||
echo "true"; \
|
||||
else \
|
||||
echo "false"; \
|
||||
fi)
|
||||
MAX_VM_MEMORY := $(shell \
|
||||
if [ $(MB_OF_MEMORY) -le 1024 ] ; then \
|
||||
expr $(MB_OF_MEMORY) '-' 128 2> $(DEV_NULL) ; \
|
||||
else \
|
||||
echo "896"; \
|
||||
fi)
|
||||
MIN_VM_MEMORY := $(shell \
|
||||
if [ $(MAX_VM_MEMORY) -le 128 ] ; then \
|
||||
expr $(MAX_VM_MEMORY) '-' 8 2> $(DEV_NULL) ; \
|
||||
else \
|
||||
echo "128"; \
|
||||
fi)
|
||||
else
|
||||
MB_OF_MEMORY := unknown
|
||||
LOW_MEMORY_MACHINE := true
|
||||
MAX_VM_MEMORY := 384
|
||||
MIN_VM_MEMORY := 128
|
||||
endif
|
||||
|
||||
# If blanks in the username, use the first 4 words and pack them together
|
||||
_USER1:=$(subst ', ,$(_USER))
|
||||
_USER2:=$(subst ", ,$(_USER1))
|
||||
|
@ -105,13 +105,21 @@ ZIP_VER :=$(call GetVersion,"$(_ZIP_VER)")
|
||||
UNZIP_VER :=$(call GetVersion,"$(_UNZIP_VER)")
|
||||
BOOT_VER :=$(call GetVersion,"$(_BOOT_VER)")
|
||||
|
||||
REQUIRED_ANT_VER := 1.6.3
|
||||
_ANT_VER :=$(shell $(ANT) -version 2>&1 )
|
||||
ANT_VER :=$(call GetVersion,"$(_ANT_VER)")
|
||||
REQUIRED_ANT_VER := 1.6.3
|
||||
ifeq ($(ANT_HOME),)
|
||||
_ANT_VER:=$(shell JAVACMD="$(BOOTDIR)/bin/java" $(ANT) -version 2>&1 )
|
||||
else
|
||||
_ANT_VER:=$(shell JAVACMD="$(BOOTDIR)/bin/java" ANT_HOME="$(ANT_HOME)" $(ANT) -version 2>&1 )
|
||||
endif
|
||||
ANT_VER:=$(call GetVersion,"$(_ANT_VER)")
|
||||
|
||||
REQUIRED_FINDBUGS_VER := 1.1
|
||||
_FINDBUGS_VER :=$(shell $(FINDBUGS) -version 2>&1 )
|
||||
FINDBUGS_VER :=$(call GetVersion,"$(_FINDBUGS_VER)")
|
||||
REQUIRED_FINDBUGS_VER := 1.2
|
||||
ifeq ($(FINDBUGS_HOME),)
|
||||
_FINDBUGS_VER:=$(shell $(FINDBUGS) -javahome "$(BOOTDIR)" -textui -version 2>&1 )
|
||||
else
|
||||
_FINDBUGS_VER:=$(shell FINDBUGS_HOME="$(FINDBUGS_HOME)" $(FINDBUGS) -javahome "$(BOOTDIR)" -textui -version 2>&1 )
|
||||
endif
|
||||
FINDBUGS_VER:=$(call GetVersion,"$(_FINDBUGS_VER)")
|
||||
|
||||
ifdef ALT_BINDIR
|
||||
ALT_BINDIR_VERSION := $(shell $(ALT_BINDIR)/java$(EXE_SUFFIX) -version 2>&1 | $(NAWK) -F'"' '{ print $$2 }')
|
||||
@ -1564,31 +1572,31 @@ ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
endif
|
||||
|
||||
|
||||
######################################################
|
||||
# SECURITY_BASELINE_142 test
|
||||
######################################################
|
||||
security_baseline_142:
|
||||
ifeq ($(PLATFORM), windows)
|
||||
@if [ -z "$(SECURITY_BASELINE_142)" ]; then \
|
||||
$(ECHO) "WARNING: Your SECURITY_BASELINE_142 setting is empty.\n" \
|
||||
" Setting it to the default value of 1.4.2_10.\n" \
|
||||
" It is recommended to set SECURITY_BASELINE_142.\n" \
|
||||
"" >> $(WARNING_FILE) ; \
|
||||
fi
|
||||
endif
|
||||
|
||||
######################################################
|
||||
# SECURITY_BASELINE_150 test
|
||||
######################################################
|
||||
security_baseline_150:
|
||||
ifeq ($(PLATFORM), windows)
|
||||
@if [ -z "$(SECURITY_BASELINE_150)" ]; then \
|
||||
$(ECHO) "WARNING: Your SECURITY_BASELINE_150 setting is empty.\n" \
|
||||
" Setting it to the default value of 1.5.0_07.\n" \
|
||||
" It is recommended to set SECURITY_BASELINE_150.\n" \
|
||||
"" >> $(WARNING_FILE) ; \
|
||||
fi
|
||||
endif
|
||||
######################################################
|
||||
# SECURITY_BASELINE_142 test
|
||||
######################################################
|
||||
security_baseline_142:
|
||||
ifeq ($(PLATFORM), windows)
|
||||
@if [ -z "$(SECURITY_BASELINE_142)" ]; then \
|
||||
$(ECHO) "WARNING: Your SECURITY_BASELINE_142 setting is empty.\n" \
|
||||
" Setting it to the default value of 1.4.2_10.\n" \
|
||||
" It is recommended to set SECURITY_BASELINE_142.\n" \
|
||||
"" >> $(WARNING_FILE) ; \
|
||||
fi
|
||||
endif
|
||||
|
||||
######################################################
|
||||
# SECURITY_BASELINE_150 test
|
||||
######################################################
|
||||
security_baseline_150:
|
||||
ifeq ($(PLATFORM), windows)
|
||||
@if [ -z "$(SECURITY_BASELINE_150)" ]; then \
|
||||
$(ECHO) "WARNING: Your SECURITY_BASELINE_150 setting is empty.\n" \
|
||||
" Setting it to the default value of 1.5.0_07.\n" \
|
||||
" It is recommended to set SECURITY_BASELINE_150.\n" \
|
||||
"" >> $(WARNING_FILE) ; \
|
||||
fi
|
||||
endif
|
||||
|
||||
|
||||
######################################################
|
||||
|
@ -49,8 +49,8 @@ EXCLUDE_PKGS = \
|
||||
# ACTIVE_JSR_PKGS are packages that are part of an active JSR process--
|
||||
# one that is doing its own review. These packages are not included when
|
||||
# creating diff pages for the platform's JCP process.
|
||||
#
|
||||
# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
|
||||
#
|
||||
# (see /java/pubs/apisrc/jdk/6.0/beta/make/docs/active_jsr_pkgs)
|
||||
# Note:
|
||||
# This is a list of regular expressions. So foo.* matches "foo" and "foo.bar".
|
||||
#
|
||||
@ -72,13 +72,13 @@ ACTIVE_JSR_PKGS= \
|
||||
# CORE_PKGS is the list of packages that form the
|
||||
# Java API Specification.
|
||||
#
|
||||
### ***IMPORTANT NOTE***
|
||||
### There is also a "REGEXP" variable in the docs/makefile that
|
||||
### determines which table the packages go in on the main page.
|
||||
### Currently, there is only table ("Platform Packages") and
|
||||
### everything goes in it, so REGEXP is "*". But if that policy
|
||||
### changes, packages added will need to be reflected in that
|
||||
### list of wildcard expressions, as well.
|
||||
### ***IMPORTANT NOTE***
|
||||
### There is also a "REGEXP" variable in the docs/makefile that
|
||||
### determines which table the packages go in on the main page.
|
||||
### Currently, there is only table ("Platform Packages") and
|
||||
### everything goes in it, so REGEXP is "*". But if that policy
|
||||
### changes, packages added will need to be reflected in that
|
||||
### list of wildcard expressions, as well.
|
||||
###
|
||||
CORE_PKGS = \
|
||||
java.applet \
|
||||
|
@ -85,7 +85,6 @@ SUNWprivate_1.1 {
|
||||
Java_java_io_FileOutputStream_close0;
|
||||
Java_java_io_FileOutputStream_initIDs;
|
||||
Java_java_io_FileOutputStream_open;
|
||||
Java_java_io_FileOutputStream_openAppend;
|
||||
Java_java_io_FileOutputStream_write;
|
||||
Java_java_io_FileOutputStream_writeBytes;
|
||||
Java_java_io_FileSystem_getFileSystem;
|
||||
|
@ -107,6 +107,7 @@ endif # PLATFORM
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
EXTRA_LIBS = advapi32.lib \
|
||||
comctl32.lib \
|
||||
user32.lib
|
||||
|
||||
JAVALIB =
|
||||
|
@ -43,7 +43,7 @@ include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
# Override the default version info with our own resource file (see 5106536)
|
||||
ifeq ($(PLATFORM), windows)
|
||||
LDLIBS_COMMON += user32.lib
|
||||
LDLIBS_COMMON += user32.lib comctl32.lib
|
||||
ifdef OPENJDK
|
||||
RC_FLAGS += -i "$(PLATFORM_SRC)/resource/icons"
|
||||
else
|
||||
|
@ -46,7 +46,7 @@ STATIC_JLI = true
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
OTHER_CPPFLAGS += -DJAVAW
|
||||
LDLIBS_COMMON += user32.lib
|
||||
LDLIBS_COMMON += user32.lib comctl32.lib
|
||||
|
||||
# Override the default version info with our own resource file (see 5106536)
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
@ -191,7 +191,7 @@ sources: $(SPP) $(FILES_genout)
|
||||
|
||||
GEN_BUFFER_SH = genBuffer.sh
|
||||
|
||||
GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK=$(NAWK) SED=$(SED) \
|
||||
GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK=$(NAWK) SED=$(SED) SH=$(SH) \
|
||||
$(SH) $(GEN_BUFFER_SH)
|
||||
|
||||
# Public abstract buffer classes
|
||||
@ -582,7 +582,7 @@ $(BUF_GEN)/ByteBufferAsDoubleBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.jav
|
||||
|
||||
GEN_CODER_SH = genCoder.sh
|
||||
|
||||
GEN_CODER_CMD = SPP="$(SPP_CMD)" SED=$(SED) NAWK=$(NAWK) $(SH) $(GEN_CODER_SH)
|
||||
GEN_CODER_CMD = SPP="$(SPP_CMD)" SED=$(SED) NAWK=$(NAWK) SH=$(SH) $(SH) $(GEN_CODER_SH)
|
||||
|
||||
$(CS_GEN)/CharsetDecoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH)
|
||||
$(prep-target)
|
||||
@ -602,7 +602,7 @@ $(CS_GEN)/CharsetEncoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH)
|
||||
|
||||
GEN_EX_SH = genExceptions.sh
|
||||
|
||||
GEN_EX_CMD = NAWK=$(NAWK) $(SHELL) $(GEN_EX_SH)
|
||||
GEN_EX_CMD = NAWK=$(NAWK) SH=$(SH) $(SH) $(GEN_EX_SH)
|
||||
|
||||
$(CH_GEN)/%Exception.java: genExceptions.sh $(CH_SRC)/exceptions
|
||||
$(prep-target)
|
||||
@ -635,8 +635,8 @@ $(SCS_GEN)/StandardCharsets.java: genCharsetProvider.sh \
|
||||
$(HASHER_JARFILE) $(SCS_SRC)/standard-charsets
|
||||
$(prep-target)
|
||||
@$(RM) $@.temp
|
||||
NAWK=$(NAWK) TEMPDIR=$(TEMPDIR) \
|
||||
NAWK=$(NAWK) TEMPDIR=$(TEMPDIR) SH=$(SH) \
|
||||
HASHER="$(BOOT_JAVA_CMD) -jar $(HASHER_JARFILE)" \
|
||||
$(SHELL) -e genCharsetProvider.sh $(SCS_SRC)/standard-charsets $(SCS_GEN)
|
||||
$(SH) -e genCharsetProvider.sh $(SCS_SRC)/standard-charsets $(SCS_GEN)
|
||||
|
||||
.PHONY: sources
|
||||
|
@ -48,7 +48,7 @@ echo '-->' $OUT
|
||||
# Header
|
||||
#
|
||||
|
||||
$SHELL addNotices.sh "$COPYRIGHT_YEARS" > $OUT
|
||||
$SH ./addNotices.sh "$COPYRIGHT_YEARS" > $OUT
|
||||
|
||||
cat <<__END__ >>$OUT
|
||||
|
||||
|
@ -41,7 +41,7 @@ gen() {
|
||||
echo '-->' $DST/$ID.java
|
||||
out=$DST/${ID}.java
|
||||
|
||||
$SHELL addNotices.sh "$COPYRIGHT_YEARS" > $out
|
||||
$SH ./addNotices.sh "$COPYRIGHT_YEARS" > $out
|
||||
|
||||
cat >>$out <<__END__
|
||||
|
||||
|
@ -85,3 +85,13 @@ vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
|
||||
CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
|
||||
CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/image/jpeg -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
# 64-bit gcc has problems compiling MMX instructions.
|
||||
# Google it for more details. Possibly the newer versions of
|
||||
# the PNG-library and/or the new compiler will not need this
|
||||
# option in the future.
|
||||
CPPFLAGS += -DPNG_NO_MMX_CODE
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright 2002-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
# Copyright 2002-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
|
||||
@ -246,7 +246,7 @@ $(SIZES): $(SIZERS)
|
||||
@if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
|
||||
$(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
|
||||
$(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
|
||||
fi
|
||||
fi
|
||||
|
||||
$(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
|
||||
$(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
|
||||
@ -256,10 +256,11 @@ touch.wrappers: $(TEMPDIR)/.gen.wrappers
|
||||
$(MKDIR) -p $(TEMPDIR)
|
||||
$(TOUCH) $(TEMPDIR)/.gen.wrappers
|
||||
|
||||
generated.clean:
|
||||
generated.clean:
|
||||
$(RM) -r $(WRAPPER_GENERATOR_TEMPDIR)
|
||||
$(RM) -r $(WRAPPER_GENERATOR_DIR)
|
||||
$(RM) -r $(GEN_DIR)/*.java
|
||||
$(RM) -r $(TEMPDIR)/.gen_icons
|
||||
|
||||
ifdef OPENJDK
|
||||
ICONS_PATH_PREFIX=$(PLATFORM_SRC)
|
||||
|
@ -38,7 +38,14 @@ FT_TEST_PATH = $(TEMPDIR)/$(FT_TEST)
|
||||
|
||||
all: $(FT_TEST_PATH)
|
||||
|
||||
FT_OPTIONS = -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2
|
||||
# Start with CFLAGS (which gets us the required -xarch setting on solaris)
|
||||
ifeq ($(PLATFORM), windows)
|
||||
FT_OPTIONS =
|
||||
else
|
||||
FT_OPTIONS = $(CFLAGS)
|
||||
endif
|
||||
|
||||
FT_OPTIONS += -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2
|
||||
FT_OPTIONS += $(XARCH)
|
||||
|
||||
#add runtime library search path
|
||||
|
@ -26,13 +26,16 @@
|
||||
/* Test program for freetype sanity check.
|
||||
Prints "Failed" messages to STDOUT if check fails. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "ft2build.h"
|
||||
#include FT_FREETYPE_H
|
||||
|
||||
#define QUOTEMACRO(x) QUOTEME(x)
|
||||
#define QUOTEME(x) #x
|
||||
|
||||
int main(char** argv, int argc) {
|
||||
int main(int argc, char** argv) {
|
||||
char v[50];
|
||||
FT_Int major, minor, patch;
|
||||
FT_Library library;
|
||||
|
@ -32,9 +32,9 @@ class CommandNode extends AbstractCommandNode {
|
||||
|
||||
void constrain(Context ctx) {
|
||||
if (components.size() == 3) {
|
||||
Node out = (Node)components.get(0);
|
||||
Node reply = (Node)components.get(1);
|
||||
Node error = (Node)components.get(2);
|
||||
Node out = components.get(0);
|
||||
Node reply = components.get(1);
|
||||
Node error = components.get(2);
|
||||
if (!(out instanceof OutNode)) {
|
||||
error("Expected 'Out' item, got: " + out);
|
||||
}
|
||||
@ -45,7 +45,7 @@ class CommandNode extends AbstractCommandNode {
|
||||
error("Expected 'ErrorSet' item, got: " + error);
|
||||
}
|
||||
} else if (components.size() == 1) {
|
||||
Node evt = (Node)components.get(0);
|
||||
Node evt = components.get(0);
|
||||
if (!(evt instanceof EventNode)) {
|
||||
error("Expected 'Event' item, got: " + evt);
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ class ConstantSetNode extends AbstractNamedNode {
|
||||
if (constantMap == null) {
|
||||
return "";
|
||||
}
|
||||
String com = (String) constantMap.get(key);
|
||||
String com = constantMap.get(key);
|
||||
if(com == null){
|
||||
return "";
|
||||
} else {
|
||||
|
@ -37,7 +37,7 @@ class RepeatNode extends AbstractTypeNode {
|
||||
if (components.size() != 1) {
|
||||
error("Repeat must have exactly one member, use Group for more");
|
||||
}
|
||||
member = (Node)(components.get(0));
|
||||
member = components.get(0);
|
||||
if (!(member instanceof TypeNode)) {
|
||||
error("Repeat member must be type specifier");
|
||||
}
|
||||
|
0
jdk/make/tools/winver/bin/winver.exe
Normal file → Executable file
0
jdk/make/tools/winver/bin/winver.exe
Normal file → Executable file
@ -205,9 +205,7 @@ JLI_Launch(int argc, char ** argv, /* main argc, argc */
|
||||
_wc_enabled = cpwildcard;
|
||||
_ergo_policy = ergo;
|
||||
|
||||
if (javaw == JNI_TRUE)
|
||||
SetJavaw();
|
||||
|
||||
InitLauncher(javaw);
|
||||
DumpState();
|
||||
|
||||
/*
|
||||
|
@ -172,7 +172,6 @@ const char* GetDotVersion();
|
||||
const char* GetFullVersion();
|
||||
jboolean IsJavaArgs();
|
||||
jboolean IsJavaw();
|
||||
void SetJavaw();
|
||||
jint GetErgoPolicy();
|
||||
|
||||
jboolean ServerClassMachine();
|
||||
@ -180,5 +179,9 @@ jboolean ServerClassMachine();
|
||||
static int ContinueInNewThread(InvocationFunctions* ifn, int argc, char** argv,
|
||||
char* jarfile, char* classname, int ret);
|
||||
|
||||
/*
|
||||
* Initialize platform specific settings
|
||||
*/
|
||||
void InitLauncher(jboolean javaw);
|
||||
|
||||
#endif /* _JAVA_H_ */
|
||||
|
@ -64,8 +64,6 @@ main(int argc, char ** argv)
|
||||
margv = argv;
|
||||
#endif /* JAVAW */
|
||||
|
||||
JLI_SetTraceLauncher();
|
||||
|
||||
return JLI_Launch(margc, margv,
|
||||
sizeof(const_jargs) / sizeof(char *), const_jargs,
|
||||
sizeof(const_appclasspath) / sizeof(char *), const_appclasspath,
|
||||
|
@ -34,6 +34,7 @@ import java.security.KeyRep;
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.security.InvalidKeyException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.NoSuchProviderException;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import javax.crypto.Mac;
|
||||
import javax.crypto.SecretKey;
|
||||
@ -107,12 +108,17 @@ final class PBKDF2KeyImpl implements javax.crypto.interfaces.PBEKey {
|
||||
throw new InvalidKeySpecException("Key length is negative");
|
||||
}
|
||||
try {
|
||||
this.prf = Mac.getInstance(prfAlgo, new SunJCE());
|
||||
this.prf = Mac.getInstance(prfAlgo, "SunJCE");
|
||||
} catch (NoSuchAlgorithmException nsae) {
|
||||
// not gonna happen; re-throw just in case
|
||||
InvalidKeySpecException ike = new InvalidKeySpecException();
|
||||
ike.initCause(nsae);
|
||||
throw ike;
|
||||
} catch (NoSuchProviderException nspe) {
|
||||
// Again, not gonna happen; re-throw just in case
|
||||
InvalidKeySpecException ike = new InvalidKeySpecException();
|
||||
ike.initCause(nspe);
|
||||
throw ike;
|
||||
}
|
||||
this.key = deriveKey(prf, passwdBytes, salt, iterCount, keyLength);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
#
|
||||
# Default Input method display names for Indic input methods
|
||||
#
|
||||
|
||||
DisplayName.Devanagari = Devanagari Input Method
|
||||
#
|
||||
# Default Input method display names for Indic input methods
|
||||
#
|
||||
|
||||
DisplayName.Devanagari = Devanagari Input Method
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
#
|
||||
# Default Input method display names for Thai input methods
|
||||
#
|
||||
|
||||
DisplayName.Thai = Thai Input Method
|
||||
#
|
||||
# Default Input method display names for Thai input methods
|
||||
#
|
||||
|
||||
DisplayName.Thai = Thai Input Method
|
||||
|
||||
|
@ -43,6 +43,13 @@ import javax.management.MBeanInfo;
|
||||
import javax.management.NotCompliantMBeanException;
|
||||
|
||||
import com.sun.jmx.mbeanserver.Util;
|
||||
import com.sun.jmx.remote.util.EnvHelp;
|
||||
import java.beans.BeanInfo;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.lang.reflect.Array;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import javax.management.AttributeNotFoundException;
|
||||
import javax.management.openmbean.CompositeData;
|
||||
|
||||
/**
|
||||
* This class contains the methods for performing all the tests needed to verify
|
||||
@ -482,4 +489,33 @@ public class Introspector {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Object elementFromComplex(Object complex, String element)
|
||||
throws AttributeNotFoundException {
|
||||
try {
|
||||
if (complex.getClass().isArray() && element.equals("length")) {
|
||||
return Array.getLength(complex);
|
||||
} else if (complex instanceof CompositeData) {
|
||||
return ((CompositeData) complex).get(element);
|
||||
} else {
|
||||
// Java Beans introspection
|
||||
//
|
||||
BeanInfo bi = java.beans.Introspector.getBeanInfo(complex.getClass());
|
||||
PropertyDescriptor[] pds = bi.getPropertyDescriptors();
|
||||
for (PropertyDescriptor pd : pds)
|
||||
if (pd.getName().equals(element))
|
||||
return pd.getReadMethod().invoke(complex);
|
||||
throw new AttributeNotFoundException(
|
||||
"Could not find the getter method for the property " +
|
||||
element + " using the Java Beans introspector");
|
||||
}
|
||||
} catch (InvocationTargetException e) {
|
||||
throw new IllegalArgumentException(e);
|
||||
} catch (AttributeNotFoundException e) {
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
throw EnvHelp.initCause(
|
||||
new AttributeNotFoundException(e.getMessage()), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,73 +1,73 @@
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
|
||||
<!ELEMENT Configuration (CanonicalizationMethods , TransformAlgorithms , JCEAlgorithmMappings , Log4J , ResourceBundles , UnitTests , ResourceResolvers , KeyResolvers)>
|
||||
|
||||
<!ATTLIST Configuration xmlns CDATA #FIXED 'http://www.xmlsecurity.org/NS/#configuration'
|
||||
target CDATA #IMPLIED>
|
||||
<!ELEMENT CanonicalizationMethods (CanonicalizationMethod+)>
|
||||
|
||||
<!ATTLIST CanonicalizationMethods JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.c14n.Canonicalizer' >
|
||||
<!ELEMENT CanonicalizationMethod EMPTY>
|
||||
|
||||
<!ATTLIST CanonicalizationMethod URI CDATA #REQUIRED
|
||||
JAVACLASS CDATA #REQUIRED >
|
||||
<!ELEMENT TransformAlgorithms (TransformAlgorithm+)>
|
||||
|
||||
<!ATTLIST TransformAlgorithms JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.transforms.Transform' >
|
||||
<!ELEMENT TransformAlgorithm EMPTY>
|
||||
|
||||
<!ATTLIST TransformAlgorithm URI CDATA #REQUIRED
|
||||
JAVACLASS CDATA #REQUIRED >
|
||||
<!ELEMENT JCEAlgorithmMappings (Providers , Algorithms)>
|
||||
|
||||
<!ELEMENT Providers (Provider+)>
|
||||
|
||||
<!ELEMENT Provider EMPTY>
|
||||
|
||||
<!ATTLIST Provider Id ID #REQUIRED
|
||||
Class CDATA #REQUIRED
|
||||
Info CDATA #IMPLIED
|
||||
ProviderURL CDATA #IMPLIED >
|
||||
<!ELEMENT Algorithms (Algorithm+)>
|
||||
|
||||
<!ELEMENT Algorithm (ProviderAlgo+)>
|
||||
|
||||
<!ATTLIST Algorithm URI CDATA #REQUIRED
|
||||
Description CDATA #IMPLIED
|
||||
AlgorithmClass CDATA #IMPLIED >
|
||||
<!ELEMENT ProviderAlgo EMPTY>
|
||||
|
||||
<!ATTLIST ProviderAlgo ProviderId IDREF #REQUIRED
|
||||
JCEName CDATA #REQUIRED
|
||||
JCEAlias CDATA #IMPLIED >
|
||||
<!ELEMENT Log4J EMPTY>
|
||||
|
||||
<!ATTLIST Log4J configFile CDATA 'data/log4j.xml' >
|
||||
<!ELEMENT ResourceBundles (ResourceBundle+)>
|
||||
|
||||
<!ATTLIST ResourceBundles defaultLanguageCode CDATA 'de'
|
||||
defaultCountryCode CDATA 'DE' >
|
||||
<!ELEMENT ResourceBundle EMPTY>
|
||||
|
||||
<!ATTLIST ResourceBundle LanguageCode CDATA #REQUIRED
|
||||
CountryCode CDATA #REQUIRED
|
||||
LOCATION CDATA #REQUIRED >
|
||||
<!ELEMENT UnitTests (UnitTest+)>
|
||||
|
||||
<!ATTLIST UnitTests JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.test.AllTests' >
|
||||
<!ELEMENT ResourceResolvers (Resolver+)>
|
||||
|
||||
<!ELEMENT Resolver EMPTY>
|
||||
|
||||
<!ATTLIST Resolver JAVACLASS CDATA #REQUIRED
|
||||
DESCRIPTION CDATA #IMPLIED >
|
||||
<!ELEMENT KeyResolvers (KeyResolver+)>
|
||||
<!ATTLIST KeyResolvers JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.keys.KeyResolver' >
|
||||
|
||||
<!ELEMENT KeyResolver EMPTY>
|
||||
|
||||
<!ATTLIST KeyResolver URI CDATA #REQUIRED
|
||||
JAVACLASS CDATA #REQUIRED >
|
||||
<!ELEMENT UnitTest (#PCDATA)>
|
||||
|
||||
<!ATTLIST UnitTest JAVACLASS CDATA #REQUIRED >
|
||||
<?xml version='1.0' encoding='UTF-8' ?>
|
||||
|
||||
<!ELEMENT Configuration (CanonicalizationMethods , TransformAlgorithms , JCEAlgorithmMappings , Log4J , ResourceBundles , UnitTests , ResourceResolvers , KeyResolvers)>
|
||||
|
||||
<!ATTLIST Configuration xmlns CDATA #FIXED 'http://www.xmlsecurity.org/NS/#configuration'
|
||||
target CDATA #IMPLIED>
|
||||
<!ELEMENT CanonicalizationMethods (CanonicalizationMethod+)>
|
||||
|
||||
<!ATTLIST CanonicalizationMethods JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.c14n.Canonicalizer' >
|
||||
<!ELEMENT CanonicalizationMethod EMPTY>
|
||||
|
||||
<!ATTLIST CanonicalizationMethod URI CDATA #REQUIRED
|
||||
JAVACLASS CDATA #REQUIRED >
|
||||
<!ELEMENT TransformAlgorithms (TransformAlgorithm+)>
|
||||
|
||||
<!ATTLIST TransformAlgorithms JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.transforms.Transform' >
|
||||
<!ELEMENT TransformAlgorithm EMPTY>
|
||||
|
||||
<!ATTLIST TransformAlgorithm URI CDATA #REQUIRED
|
||||
JAVACLASS CDATA #REQUIRED >
|
||||
<!ELEMENT JCEAlgorithmMappings (Providers , Algorithms)>
|
||||
|
||||
<!ELEMENT Providers (Provider+)>
|
||||
|
||||
<!ELEMENT Provider EMPTY>
|
||||
|
||||
<!ATTLIST Provider Id ID #REQUIRED
|
||||
Class CDATA #REQUIRED
|
||||
Info CDATA #IMPLIED
|
||||
ProviderURL CDATA #IMPLIED >
|
||||
<!ELEMENT Algorithms (Algorithm+)>
|
||||
|
||||
<!ELEMENT Algorithm (ProviderAlgo+)>
|
||||
|
||||
<!ATTLIST Algorithm URI CDATA #REQUIRED
|
||||
Description CDATA #IMPLIED
|
||||
AlgorithmClass CDATA #IMPLIED >
|
||||
<!ELEMENT ProviderAlgo EMPTY>
|
||||
|
||||
<!ATTLIST ProviderAlgo ProviderId IDREF #REQUIRED
|
||||
JCEName CDATA #REQUIRED
|
||||
JCEAlias CDATA #IMPLIED >
|
||||
<!ELEMENT Log4J EMPTY>
|
||||
|
||||
<!ATTLIST Log4J configFile CDATA 'data/log4j.xml' >
|
||||
<!ELEMENT ResourceBundles (ResourceBundle+)>
|
||||
|
||||
<!ATTLIST ResourceBundles defaultLanguageCode CDATA 'de'
|
||||
defaultCountryCode CDATA 'DE' >
|
||||
<!ELEMENT ResourceBundle EMPTY>
|
||||
|
||||
<!ATTLIST ResourceBundle LanguageCode CDATA #REQUIRED
|
||||
CountryCode CDATA #REQUIRED
|
||||
LOCATION CDATA #REQUIRED >
|
||||
<!ELEMENT UnitTests (UnitTest+)>
|
||||
|
||||
<!ATTLIST UnitTests JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.test.AllTests' >
|
||||
<!ELEMENT ResourceResolvers (Resolver+)>
|
||||
|
||||
<!ELEMENT Resolver EMPTY>
|
||||
|
||||
<!ATTLIST Resolver JAVACLASS CDATA #REQUIRED
|
||||
DESCRIPTION CDATA #IMPLIED >
|
||||
<!ELEMENT KeyResolvers (KeyResolver+)>
|
||||
<!ATTLIST KeyResolvers JAVACLASS CDATA #FIXED 'com.sun.org.apache.xml.internal.security.keys.KeyResolver' >
|
||||
|
||||
<!ELEMENT KeyResolver EMPTY>
|
||||
|
||||
<!ATTLIST KeyResolver URI CDATA #REQUIRED
|
||||
JAVACLASS CDATA #REQUIRED >
|
||||
<!ELEMENT UnitTest (#PCDATA)>
|
||||
|
||||
<!ATTLIST UnitTest JAVACLASS CDATA #REQUIRED >
|
||||
|
@ -1,380 +1,380 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
<!DOCTYPE Configuration SYSTEM "config.dtd">
|
||||
-->
|
||||
<!-- This configuration file is used for configuration of the com.sun.org.apache.xml.internal.security package -->
|
||||
<Configuration target="com.sun.org.apache.xml.internal.security" xmlns="http://www.xmlsecurity.org/NS/#configuration">
|
||||
<CanonicalizationMethods>
|
||||
<CanonicalizationMethod URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315OmitComments" />
|
||||
<CanonicalizationMethod URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315WithComments" />
|
||||
|
||||
<CanonicalizationMethod URI="http://www.w3.org/2001/10/xml-exc-c14n#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315ExclOmitComments"/>
|
||||
<CanonicalizationMethod URI="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315ExclWithComments"/>
|
||||
</CanonicalizationMethods>
|
||||
<TransformAlgorithms>
|
||||
<!-- Base64 -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2000/09/xmldsig#base64"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformBase64Decode" />
|
||||
<!-- c14n omitting comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14N" />
|
||||
<!-- c14n with comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14NWithComments" />
|
||||
<!-- exclusive c14n omitting comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14NExclusive" />
|
||||
<!-- exclusive c14n with comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14NExclusiveWithComments" />
|
||||
|
||||
<!-- XPath transform -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/1999/REC-xpath-19991116"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXPath" />
|
||||
<!-- enveloped signature -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformEnvelopedSignature" />
|
||||
<!-- XSLT -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/1999/REC-xslt-19991116"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXSLT" />
|
||||
<!-- XPath version 2 -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2002/04/xmldsig-filter2"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXPath2Filter" />
|
||||
<!-- XPath version 2b -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2002/06/xmldsig-filter2"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXPath2Filter" />
|
||||
</TransformAlgorithms>
|
||||
<SignatureAlgorithms>
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#dsa-sha1"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureDSA" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA1" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#hmac-sha1"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA1" />
|
||||
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-md5"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSAMD5" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSARIPEMD160" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA256" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA384" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA512" />
|
||||
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacMD5" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacRIPEMD160" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA256" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA384" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA512" />
|
||||
</SignatureAlgorithms>
|
||||
<JCEAlgorithmMappings>
|
||||
<Algorithms>
|
||||
<!-- MessageDigest Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#md5"
|
||||
Description="MD5 message digest from RFC 1321"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="NOT RECOMMENDED"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="MD5"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#ripemd160"
|
||||
Description="RIPEMD-160 message digest"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="OPTIONAL"
|
||||
JCEName="RIPEMD160"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#sha1"
|
||||
Description="SHA-1 message digest"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="REQUIRED"
|
||||
JCEName="SHA-1"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#sha256"
|
||||
Description="SHA-1 message digest with 256 bit"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="RECOMMENDED"
|
||||
JCEName="SHA-256"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#sha384"
|
||||
Description="SHA message digest with 384 bit"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA-384"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#sha512"
|
||||
Description="SHA-1 message digest with 512 bit"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="OPTIONAL"
|
||||
JCEName="SHA-512"/>
|
||||
|
||||
<!-- Signature Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#dsa-sha1"
|
||||
Description="Digital Signature Algorithm with SHA-1 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="REQUIRED"
|
||||
JCEName="SHA1withDSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-md5"
|
||||
Description="RSA Signature with MD5 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="NOT RECOMMENDED"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="MD5withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160"
|
||||
Description="RSA Signature with RIPEMD-160 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="RIPEMD160withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
|
||||
Description="RSA Signature with SHA-1 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="RECOMMENDED"
|
||||
JCEName="SHA1withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
|
||||
Description="RSA Signature with SHA-256 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA256withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
|
||||
Description="RSA Signature with SHA-384 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA384withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
|
||||
Description="RSA Signature with SHA-512 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA512withRSA"/>
|
||||
|
||||
<!-- MAC Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"
|
||||
Description="Message Authentication code using MD5"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="NOT RECOMMENDED"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacMD5"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"
|
||||
Description="Message Authentication code using RIPEMD-160"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HMACRIPEMD160"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#hmac-sha1"
|
||||
Description="Message Authentication code using SHA1"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="REQUIRED"
|
||||
JCEName="HmacSHA1"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
|
||||
Description="Message Authentication code using SHA-256"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacSHA256"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
|
||||
Description="Message Authentication code using SHA-384"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacSHA384"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
|
||||
Description="Message Authentication code using SHA-512"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacSHA512"/>
|
||||
|
||||
<!-- Block encryption Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"
|
||||
Description="Block encryption using Triple-DES"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="192"
|
||||
RequiredKey="DESede"
|
||||
JCEName="DESede/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
|
||||
Description="Block encryption using AES with a key length of 128 bit"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="128"
|
||||
RequiredKey="AES"
|
||||
JCEName="AES/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#aes192-cbc"
|
||||
Description="Block encryption using AES with a key length of 192 bit"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="OPTIONAL"
|
||||
KeyLength="192"
|
||||
RequiredKey="AES"
|
||||
JCEName="AES/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#aes256-cbc"
|
||||
Description="Block encryption using AES with a key length of 256 bit"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="256"
|
||||
RequiredKey="AES"
|
||||
JCEName="AES/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"
|
||||
Description="Key Transport RSA-v1.5"
|
||||
AlgorithmClass="KeyTransport"
|
||||
RequirementLevel="REQUIRED"
|
||||
RequiredKey="RSA"
|
||||
JCEName="RSA/ECB/PKCS1Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
|
||||
Description="Key Transport RSA-OAEP"
|
||||
AlgorithmClass="KeyTransport"
|
||||
RequirementLevel="REQUIRED"
|
||||
RequiredKey="RSA"
|
||||
JCEName="RSA/ECB/OAEPWithSHA1AndMGF1Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#dh"
|
||||
Description="Key Agreement Diffie-Hellman"
|
||||
AlgorithmClass="KeyAgreement"
|
||||
RequirementLevel="OPTIONAL"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-tripledes"
|
||||
Description="Symmetric Key Wrap using Triple DES"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="192"
|
||||
RequiredKey="DESede"
|
||||
JCEName="DESedeWrap"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-aes128"
|
||||
Description="Symmetric Key Wrap using AES with a key length of 128 bit"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="128"
|
||||
RequiredKey="AES"
|
||||
JCEName="AESWrap"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-aes192"
|
||||
Description="Symmetric Key Wrap using AES with a key length of 192 bit"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="OPTIONAL"
|
||||
KeyLength="192"
|
||||
RequiredKey="AES"
|
||||
JCEName="AESWrap"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-aes256"
|
||||
Description="Symmetric Key Wrap using AES with a key length of 256 bit"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="256"
|
||||
RequiredKey="AES"
|
||||
JCEName="AESWrap"/>
|
||||
|
||||
</Algorithms>
|
||||
</JCEAlgorithmMappings>
|
||||
<ResourceBundles defaultLanguageCode="en" defaultCountryCode="US">
|
||||
<ResourceBundle LanguageCode="en"
|
||||
CountryCode="US"
|
||||
LOCATION="com.sun.org.apache.xml.internal.security/resource/xmlsecurity_en.properties" />
|
||||
<ResourceBundle LanguageCode="de"
|
||||
CountryCode="DE"
|
||||
LOCATION="com.sun.org.apache.xml.internal.security/resource/xmlsecurity_de.properties" />
|
||||
</ResourceBundles>
|
||||
<ResourceResolvers>
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverDirectHTTP"
|
||||
DESCRIPTION="A simple resolver for requests to HTTP space" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverLocalFilesystem"
|
||||
DESCRIPTION="A simple resolver for requests to the local file system" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverFragment"
|
||||
DESCRIPTION="A simple resolver for requests of same-document URIs" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverXPointer"
|
||||
DESCRIPTION="A simple resolver for requests of XPointer fragents" />
|
||||
</ResourceResolvers>
|
||||
<!-- <defaultLocale languageCode="en" countryCode="US" /> -->
|
||||
<KeyInfo>
|
||||
<ContentHandler LOCALNAME="KeyName"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.KeyName" />
|
||||
<ContentHandler LOCALNAME="KeyValue"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.KeyValue" />
|
||||
<ContentHandler LOCALNAME="RetrievalMethod"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.RetrievalMethod" />
|
||||
<ContentHandler LOCALNAME="X509Data"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.X509Data" />
|
||||
<ContentHandler LOCALNAME="PGPData"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.PGPData" />
|
||||
<ContentHandler LOCALNAME="SPKIData"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.SPKIData" />
|
||||
<ContentHandler LOCALNAME="MgmtData"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.MgmtData" />
|
||||
</KeyInfo>
|
||||
<KeyResolver>
|
||||
<!-- This section contains a list of KeyResolvers that are available in
|
||||
every KeyInfo object -->
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.RSAKeyValueResolver"
|
||||
DESCRIPTION="Can extract RSA public keys" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.DSAKeyValueResolver"
|
||||
DESCRIPTION="Can extract DSA public keys" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509CertificateResolver"
|
||||
DESCRIPTION="Can extract public keys from X509 certificates" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509SKIResolver"
|
||||
DESCRIPTION="Uses an X509v3 SubjectKeyIdentifier extension to retrieve a certificate from the storages" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.RetrievalMethodResolver"
|
||||
DESCRIPTION="Resolves keys and certificates using ResourceResolvers" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509SubjectNameResolver"
|
||||
DESCRIPTION="Uses an X509 SubjectName to retrieve a certificate from the storages" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509IssuerSerialResolver"
|
||||
DESCRIPTION="Uses an X509 IssuerName and IssuerSerial to retrieve a certificate from the storages" />
|
||||
</KeyResolver>
|
||||
|
||||
<PrefixMappings>
|
||||
<!-- Many classes create Elements which are in a specific namespace;
|
||||
here, the prefixes for these namespaces are defined. But this
|
||||
can also be overwritten using the ElementProxy#setDefaultPrefix()
|
||||
method. You can even set all prefixes to "" so that the corresponding
|
||||
elements are created using the default namespace -->
|
||||
<PrefixMapping namespace="http://www.w3.org/2000/09/xmldsig#"
|
||||
prefix="ds" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2001/04/xmlenc#"
|
||||
prefix="xenc" />
|
||||
<PrefixMapping namespace="http://www.xmlsecurity.org/experimental#"
|
||||
prefix="experimental" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2002/04/xmldsig-filter2"
|
||||
prefix="dsig-xpath-old" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2002/06/xmldsig-filter2"
|
||||
prefix="dsig-xpath" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2001/10/xml-exc-c14n#"
|
||||
prefix="ec" />
|
||||
<PrefixMapping namespace="http://www.nue.et-inf.uni-siegen.de/~geuer-pollmann/#xpathFilter"
|
||||
prefix="xx" />
|
||||
</PrefixMappings>
|
||||
</Configuration>
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
<!DOCTYPE Configuration SYSTEM "config.dtd">
|
||||
-->
|
||||
<!-- This configuration file is used for configuration of the com.sun.org.apache.xml.internal.security package -->
|
||||
<Configuration target="com.sun.org.apache.xml.internal.security" xmlns="http://www.xmlsecurity.org/NS/#configuration">
|
||||
<CanonicalizationMethods>
|
||||
<CanonicalizationMethod URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315OmitComments" />
|
||||
<CanonicalizationMethod URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315WithComments" />
|
||||
|
||||
<CanonicalizationMethod URI="http://www.w3.org/2001/10/xml-exc-c14n#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315ExclOmitComments"/>
|
||||
<CanonicalizationMethod URI="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.c14n.implementations.Canonicalizer20010315ExclWithComments"/>
|
||||
</CanonicalizationMethods>
|
||||
<TransformAlgorithms>
|
||||
<!-- Base64 -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2000/09/xmldsig#base64"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformBase64Decode" />
|
||||
<!-- c14n omitting comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14N" />
|
||||
<!-- c14n with comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14NWithComments" />
|
||||
<!-- exclusive c14n omitting comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14NExclusive" />
|
||||
<!-- exclusive c14n with comments -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformC14NExclusiveWithComments" />
|
||||
|
||||
<!-- XPath transform -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/1999/REC-xpath-19991116"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXPath" />
|
||||
<!-- enveloped signature -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformEnvelopedSignature" />
|
||||
<!-- XSLT -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/TR/1999/REC-xslt-19991116"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXSLT" />
|
||||
<!-- XPath version 2 -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2002/04/xmldsig-filter2"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXPath2Filter" />
|
||||
<!-- XPath version 2b -->
|
||||
<TransformAlgorithm URI="http://www.w3.org/2002/06/xmldsig-filter2"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.transforms.implementations.TransformXPath2Filter" />
|
||||
</TransformAlgorithms>
|
||||
<SignatureAlgorithms>
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#dsa-sha1"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureDSA" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA1" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2000/09/xmldsig#hmac-sha1"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA1" />
|
||||
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-md5"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSAMD5" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSARIPEMD160" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA256" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA384" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.SignatureBaseRSA$SignatureRSASHA512" />
|
||||
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacMD5" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacRIPEMD160" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA256" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA384" />
|
||||
<SignatureAlgorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.algorithms.implementations.IntegrityHmac$IntegrityHmacSHA512" />
|
||||
</SignatureAlgorithms>
|
||||
<JCEAlgorithmMappings>
|
||||
<Algorithms>
|
||||
<!-- MessageDigest Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#md5"
|
||||
Description="MD5 message digest from RFC 1321"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="NOT RECOMMENDED"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="MD5"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#ripemd160"
|
||||
Description="RIPEMD-160 message digest"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="OPTIONAL"
|
||||
JCEName="RIPEMD160"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#sha1"
|
||||
Description="SHA-1 message digest"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="REQUIRED"
|
||||
JCEName="SHA-1"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#sha256"
|
||||
Description="SHA-1 message digest with 256 bit"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="RECOMMENDED"
|
||||
JCEName="SHA-256"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#sha384"
|
||||
Description="SHA message digest with 384 bit"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA-384"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#sha512"
|
||||
Description="SHA-1 message digest with 512 bit"
|
||||
AlgorithmClass="MessageDigest"
|
||||
RequirementLevel="OPTIONAL"
|
||||
JCEName="SHA-512"/>
|
||||
|
||||
<!-- Signature Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#dsa-sha1"
|
||||
Description="Digital Signature Algorithm with SHA-1 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="REQUIRED"
|
||||
JCEName="SHA1withDSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-md5"
|
||||
Description="RSA Signature with MD5 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="NOT RECOMMENDED"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="MD5withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160"
|
||||
Description="RSA Signature with RIPEMD-160 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="RIPEMD160withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
|
||||
Description="RSA Signature with SHA-1 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="RECOMMENDED"
|
||||
JCEName="SHA1withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
|
||||
Description="RSA Signature with SHA-256 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA256withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
|
||||
Description="RSA Signature with SHA-384 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA384withRSA"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"
|
||||
Description="RSA Signature with SHA-512 message digest"
|
||||
AlgorithmClass="Signature"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="SHA512withRSA"/>
|
||||
|
||||
<!-- MAC Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"
|
||||
Description="Message Authentication code using MD5"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="NOT RECOMMENDED"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacMD5"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-ripemd160"
|
||||
Description="Message Authentication code using RIPEMD-160"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HMACRIPEMD160"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2000/09/xmldsig#hmac-sha1"
|
||||
Description="Message Authentication code using SHA1"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="REQUIRED"
|
||||
JCEName="HmacSHA1"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha256"
|
||||
Description="Message Authentication code using SHA-256"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacSHA256"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha384"
|
||||
Description="Message Authentication code using SHA-384"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacSHA384"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmldsig-more#hmac-sha512"
|
||||
Description="Message Authentication code using SHA-512"
|
||||
AlgorithmClass="Mac"
|
||||
RequirementLevel="OPTIONAL"
|
||||
SpecificationURL="http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt"
|
||||
JCEName="HmacSHA512"/>
|
||||
|
||||
<!-- Block encryption Algorithms -->
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"
|
||||
Description="Block encryption using Triple-DES"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="192"
|
||||
RequiredKey="DESede"
|
||||
JCEName="DESede/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#aes128-cbc"
|
||||
Description="Block encryption using AES with a key length of 128 bit"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="128"
|
||||
RequiredKey="AES"
|
||||
JCEName="AES/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#aes192-cbc"
|
||||
Description="Block encryption using AES with a key length of 192 bit"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="OPTIONAL"
|
||||
KeyLength="192"
|
||||
RequiredKey="AES"
|
||||
JCEName="AES/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#aes256-cbc"
|
||||
Description="Block encryption using AES with a key length of 256 bit"
|
||||
AlgorithmClass="BlockEncryption"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="256"
|
||||
RequiredKey="AES"
|
||||
JCEName="AES/CBC/ISO10126Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-1_5"
|
||||
Description="Key Transport RSA-v1.5"
|
||||
AlgorithmClass="KeyTransport"
|
||||
RequirementLevel="REQUIRED"
|
||||
RequiredKey="RSA"
|
||||
JCEName="RSA/ECB/PKCS1Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
|
||||
Description="Key Transport RSA-OAEP"
|
||||
AlgorithmClass="KeyTransport"
|
||||
RequirementLevel="REQUIRED"
|
||||
RequiredKey="RSA"
|
||||
JCEName="RSA/ECB/OAEPWithSHA1AndMGF1Padding"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#dh"
|
||||
Description="Key Agreement Diffie-Hellman"
|
||||
AlgorithmClass="KeyAgreement"
|
||||
RequirementLevel="OPTIONAL"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-tripledes"
|
||||
Description="Symmetric Key Wrap using Triple DES"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="192"
|
||||
RequiredKey="DESede"
|
||||
JCEName="DESedeWrap"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-aes128"
|
||||
Description="Symmetric Key Wrap using AES with a key length of 128 bit"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="128"
|
||||
RequiredKey="AES"
|
||||
JCEName="AESWrap"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-aes192"
|
||||
Description="Symmetric Key Wrap using AES with a key length of 192 bit"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="OPTIONAL"
|
||||
KeyLength="192"
|
||||
RequiredKey="AES"
|
||||
JCEName="AESWrap"/>
|
||||
|
||||
<Algorithm URI="http://www.w3.org/2001/04/xmlenc#kw-aes256"
|
||||
Description="Symmetric Key Wrap using AES with a key length of 256 bit"
|
||||
AlgorithmClass="SymmetricKeyWrap"
|
||||
RequirementLevel="REQUIRED"
|
||||
KeyLength="256"
|
||||
RequiredKey="AES"
|
||||
JCEName="AESWrap"/>
|
||||
|
||||
</Algorithms>
|
||||
</JCEAlgorithmMappings>
|
||||
<ResourceBundles defaultLanguageCode="en" defaultCountryCode="US">
|
||||
<ResourceBundle LanguageCode="en"
|
||||
CountryCode="US"
|
||||
LOCATION="com.sun.org.apache.xml.internal.security/resource/xmlsecurity_en.properties" />
|
||||
<ResourceBundle LanguageCode="de"
|
||||
CountryCode="DE"
|
||||
LOCATION="com.sun.org.apache.xml.internal.security/resource/xmlsecurity_de.properties" />
|
||||
</ResourceBundles>
|
||||
<ResourceResolvers>
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverDirectHTTP"
|
||||
DESCRIPTION="A simple resolver for requests to HTTP space" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverLocalFilesystem"
|
||||
DESCRIPTION="A simple resolver for requests to the local file system" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverFragment"
|
||||
DESCRIPTION="A simple resolver for requests of same-document URIs" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.utils.resolver.implementations.ResolverXPointer"
|
||||
DESCRIPTION="A simple resolver for requests of XPointer fragents" />
|
||||
</ResourceResolvers>
|
||||
<!-- <defaultLocale languageCode="en" countryCode="US" /> -->
|
||||
<KeyInfo>
|
||||
<ContentHandler LOCALNAME="KeyName"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.KeyName" />
|
||||
<ContentHandler LOCALNAME="KeyValue"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.KeyValue" />
|
||||
<ContentHandler LOCALNAME="RetrievalMethod"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.RetrievalMethod" />
|
||||
<ContentHandler LOCALNAME="X509Data"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.X509Data" />
|
||||
<ContentHandler LOCALNAME="PGPData"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.PGPData" />
|
||||
<ContentHandler LOCALNAME="SPKIData"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.SPKIData" />
|
||||
<ContentHandler LOCALNAME="MgmtData"
|
||||
NAMESPACE="http://www.w3.org/2000/09/xmldsig#"
|
||||
JAVACLASS="com.sun.org.apache.xml.internal.security.keys.content.MgmtData" />
|
||||
</KeyInfo>
|
||||
<KeyResolver>
|
||||
<!-- This section contains a list of KeyResolvers that are available in
|
||||
every KeyInfo object -->
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.RSAKeyValueResolver"
|
||||
DESCRIPTION="Can extract RSA public keys" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.DSAKeyValueResolver"
|
||||
DESCRIPTION="Can extract DSA public keys" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509CertificateResolver"
|
||||
DESCRIPTION="Can extract public keys from X509 certificates" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509SKIResolver"
|
||||
DESCRIPTION="Uses an X509v3 SubjectKeyIdentifier extension to retrieve a certificate from the storages" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.RetrievalMethodResolver"
|
||||
DESCRIPTION="Resolves keys and certificates using ResourceResolvers" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509SubjectNameResolver"
|
||||
DESCRIPTION="Uses an X509 SubjectName to retrieve a certificate from the storages" />
|
||||
<Resolver JAVACLASS="com.sun.org.apache.xml.internal.security.keys.keyresolver.implementations.X509IssuerSerialResolver"
|
||||
DESCRIPTION="Uses an X509 IssuerName and IssuerSerial to retrieve a certificate from the storages" />
|
||||
</KeyResolver>
|
||||
|
||||
<PrefixMappings>
|
||||
<!-- Many classes create Elements which are in a specific namespace;
|
||||
here, the prefixes for these namespaces are defined. But this
|
||||
can also be overwritten using the ElementProxy#setDefaultPrefix()
|
||||
method. You can even set all prefixes to "" so that the corresponding
|
||||
elements are created using the default namespace -->
|
||||
<PrefixMapping namespace="http://www.w3.org/2000/09/xmldsig#"
|
||||
prefix="ds" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2001/04/xmlenc#"
|
||||
prefix="xenc" />
|
||||
<PrefixMapping namespace="http://www.xmlsecurity.org/experimental#"
|
||||
prefix="experimental" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2002/04/xmldsig-filter2"
|
||||
prefix="dsig-xpath-old" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2002/06/xmldsig-filter2"
|
||||
prefix="dsig-xpath" />
|
||||
<PrefixMapping namespace="http://www.w3.org/2001/10/xml-exc-c14n#"
|
||||
prefix="ec" />
|
||||
<PrefixMapping namespace="http://www.nue.et-inf.uni-siegen.de/~geuer-pollmann/#xpathFilter"
|
||||
prefix="xx" />
|
||||
</PrefixMappings>
|
||||
</Configuration>
|
||||
|
@ -1,347 +1,347 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by XMLSpy v4 (Altova) -->
|
||||
<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.1.1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.1.1#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" xsi:schemaLocation="http://www.w3.org/2000/09/xmldsig# xmldsig-core-schema.xsd">
|
||||
<xsd:element name="Any" type="AnyType"/>
|
||||
<xsd:complexType name="AnyType" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##any"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute namespace="##any"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
|
||||
<xsd:complexType name="ObjectIdentifierType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Identifier" type="IdentifierType"/>
|
||||
<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="DocumentationReferences" type="DocumentationReferencesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="IdentifierType">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:anyURI">
|
||||
<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="QualifierType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="OIDAsURI"/>
|
||||
<xsd:enumeration value="OIDAsURN"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="DocumentationReferencesType">
|
||||
<xsd:sequence maxOccurs="unbounded">
|
||||
<xsd:element name="DocumentationReference" type="xsd:anyURI"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
|
||||
<xsd:complexType name="EncapsulatedPKIDataType">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:base64Binary">
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="TimeStamp" type="TimeStampType"/>
|
||||
<xsd:complexType name="TimeStampType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="HashDataInfo" type="HashDataInfoType" maxOccurs="unbounded"/>
|
||||
<xsd:choice>
|
||||
<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
|
||||
<xsd:element name="XMLTimeStamp" type="AnyType"/>
|
||||
</xsd:choice>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="HashDataInfoType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="uri" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>
|
||||
<xsd:complexType name="QualifyingPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SignedProperties" type="SignedPropertiesType" minOccurs="0"/>
|
||||
<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignedProperties" type="SignedPropertiesType"/>
|
||||
<xsd:complexType name="SignedPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
|
||||
<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType"/>
|
||||
<xsd:complexType name="UnsignedPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType" minOccurs="0"/>
|
||||
<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
|
||||
<xsd:complexType name="SignedSignaturePropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SigningTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="SigningCertificate" type="CertIDListType"/>
|
||||
<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
|
||||
<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType" minOccurs="0"/>
|
||||
<xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType"/>
|
||||
<xsd:complexType name="SignedDataObjectPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DataObjectFormat" type="DataObjectFormatType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType"/>
|
||||
<xsd:complexType name="UnsignedSignaturePropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CounterSignature" type="CounterSignatureType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="SignatureTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType" minOccurs="0"/>
|
||||
<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType" minOccurs="0"/>
|
||||
<xsd:choice>
|
||||
<xsd:element name="SigAndRefsTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="RefsOnlyTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:choice>
|
||||
<xsd:element name="CertificateValues" type="CertificateValuesType" minOccurs="0"/>
|
||||
<xsd:element name="RevocationValues" type="RevocationValuesType" minOccurs="0"/>
|
||||
<xsd:element name="ArchiveTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType"/>
|
||||
<xsd:complexType name="UnsignedDataObjectPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnsignedDataObjectProperty" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="QualifyingPropertiesReference" type="QualifyingPropertiesReferenceType"/>
|
||||
<xsd:complexType name="QualifyingPropertiesReferenceType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SigningTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="SigningCertificate" type="CertIDListType"/>
|
||||
<xsd:complexType name="CertIDListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CertIDType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
|
||||
<xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="DigestAlgAndValueType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DigestMethod" type="ds:DigestMethodType"/>
|
||||
<xsd:element name="DigestValue" type="ds:DigestValueType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
|
||||
<xsd:complexType name="SignaturePolicyIdentifierType">
|
||||
<xsd:choice>
|
||||
<xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
|
||||
<xsd:element name="SignaturePolicyImplied"/>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="SignaturePolicyIdType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
|
||||
<xsd:element ref="ds:Transforms" minOccurs="0"/>
|
||||
<xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
|
||||
<xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="SigPolicyQualifiersListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SPURI" type="xsd:anyURI"/>
|
||||
<xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
|
||||
<xsd:complexType name="SPUserNoticeType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="NoticeRef" type="NoticeReferenceType" minOccurs="0"/>
|
||||
<xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="NoticeReferenceType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Organization" type="xsd:string"/>
|
||||
<xsd:element name="NoticeNumbers" type="IntegerListType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="IntegerListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="int" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="CounterSignature" type="CounterSignatureType"/>
|
||||
<xsd:complexType name="CounterSignatureType">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="ds:Signature"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
|
||||
<xsd:complexType name="DataObjectFormatType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" minOccurs="0"/>
|
||||
<xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
|
||||
<xsd:complexType name="CommitmentTypeIndicationType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
|
||||
<xsd:choice>
|
||||
<xsd:element name="ObjectReference" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="AllSignedDataObjects"/>
|
||||
</xsd:choice>
|
||||
<xsd:element name="CommitmentTypeQualifiers" type="CommitmentTypeQualifiersListType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CommitmentTypeQualifiersListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CommitmentTypeQualifier" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType"/>
|
||||
<xsd:complexType name="SignatureProductionPlaceType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="City" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignerRole" type="SignerRoleType"/>
|
||||
<xsd:complexType name="SignerRoleType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ClaimedRoles" type="ClaimedRolesListType" minOccurs="0"/>
|
||||
<xsd:element name="CertifiedRoles" type="CertifiedRolesListType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ClaimedRolesListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CertifiedRolesListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="SignatureTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
|
||||
<xsd:complexType name="CompleteCertificateRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CertRefs" type="CertIDListType"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
|
||||
<xsd:complexType name="CompleteRevocationRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
|
||||
<xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
|
||||
<xsd:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLRefType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
|
||||
<xsd:element name="CRLIdentifier" type="CRLIdentifierType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLIdentifierType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Issuer" type="xsd:string"/>
|
||||
<xsd:element name="IssueTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="Number" type="xsd:integer" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPRefType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
|
||||
<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPIdentifierType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ResponderID" type="xsd:string"/>
|
||||
<xsd:element name="ProducedAt" type="xsd:dateTime"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OtherCertStatusRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SigAndRefsTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="RefsOnlyTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="CertificateValues" type="CertificateValuesType"/>
|
||||
<xsd:complexType name="CertificateValuesType">
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element name="EncapsulatedX509Certificate" type="EncapsulatedPKIDataType"/>
|
||||
<xsd:element name="OtherCertificate" type="AnyType"/>
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="RevocationValues" type="RevocationValuesType"/>
|
||||
<xsd:complexType name="RevocationValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
|
||||
<xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
|
||||
<xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="EncapsulatedOCSPValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OtherCertStatusValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ArchiveTimeStamp" type="TimeStampType"/>
|
||||
</xsd:schema>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by XMLSpy v4 (Altova) -->
|
||||
<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.1.1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.1.1#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" xsi:schemaLocation="http://www.w3.org/2000/09/xmldsig# xmldsig-core-schema.xsd">
|
||||
<xsd:element name="Any" type="AnyType"/>
|
||||
<xsd:complexType name="AnyType" mixed="true">
|
||||
<xsd:sequence>
|
||||
<xsd:any namespace="##any"/>
|
||||
</xsd:sequence>
|
||||
<xsd:anyAttribute namespace="##any"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
|
||||
<xsd:complexType name="ObjectIdentifierType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Identifier" type="IdentifierType"/>
|
||||
<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="DocumentationReferences" type="DocumentationReferencesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="IdentifierType">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:anyURI">
|
||||
<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:simpleType name="QualifierType">
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value="OIDAsURI"/>
|
||||
<xsd:enumeration value="OIDAsURN"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:complexType name="DocumentationReferencesType">
|
||||
<xsd:sequence maxOccurs="unbounded">
|
||||
<xsd:element name="DocumentationReference" type="xsd:anyURI"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
|
||||
<xsd:complexType name="EncapsulatedPKIDataType">
|
||||
<xsd:simpleContent>
|
||||
<xsd:extension base="xsd:base64Binary">
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:extension>
|
||||
</xsd:simpleContent>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="TimeStamp" type="TimeStampType"/>
|
||||
<xsd:complexType name="TimeStampType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="HashDataInfo" type="HashDataInfoType" maxOccurs="unbounded"/>
|
||||
<xsd:choice>
|
||||
<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
|
||||
<xsd:element name="XMLTimeStamp" type="AnyType"/>
|
||||
</xsd:choice>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="HashDataInfoType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="uri" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>
|
||||
<xsd:complexType name="QualifyingPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SignedProperties" type="SignedPropertiesType" minOccurs="0"/>
|
||||
<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignedProperties" type="SignedPropertiesType"/>
|
||||
<xsd:complexType name="SignedPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
|
||||
<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType"/>
|
||||
<xsd:complexType name="UnsignedPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType" minOccurs="0"/>
|
||||
<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
|
||||
<xsd:complexType name="SignedSignaturePropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SigningTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="SigningCertificate" type="CertIDListType"/>
|
||||
<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
|
||||
<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType" minOccurs="0"/>
|
||||
<xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType"/>
|
||||
<xsd:complexType name="SignedDataObjectPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DataObjectFormat" type="DataObjectFormatType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType"/>
|
||||
<xsd:complexType name="UnsignedSignaturePropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CounterSignature" type="CounterSignatureType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="SignatureTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType" minOccurs="0"/>
|
||||
<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType" minOccurs="0"/>
|
||||
<xsd:choice>
|
||||
<xsd:element name="SigAndRefsTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="RefsOnlyTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:choice>
|
||||
<xsd:element name="CertificateValues" type="CertificateValuesType" minOccurs="0"/>
|
||||
<xsd:element name="RevocationValues" type="RevocationValuesType" minOccurs="0"/>
|
||||
<xsd:element name="ArchiveTimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType"/>
|
||||
<xsd:complexType name="UnsignedDataObjectPropertiesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="UnsignedDataObjectProperty" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="QualifyingPropertiesReference" type="QualifyingPropertiesReferenceType"/>
|
||||
<xsd:complexType name="QualifyingPropertiesReferenceType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SigningTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="SigningCertificate" type="CertIDListType"/>
|
||||
<xsd:complexType name="CertIDListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CertIDType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
|
||||
<xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="DigestAlgAndValueType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DigestMethod" type="ds:DigestMethodType"/>
|
||||
<xsd:element name="DigestValue" type="ds:DigestValueType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
|
||||
<xsd:complexType name="SignaturePolicyIdentifierType">
|
||||
<xsd:choice>
|
||||
<xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
|
||||
<xsd:element name="SignaturePolicyImplied"/>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="SignaturePolicyIdType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
|
||||
<xsd:element ref="ds:Transforms" minOccurs="0"/>
|
||||
<xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
|
||||
<xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="SigPolicyQualifiersListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SPURI" type="xsd:anyURI"/>
|
||||
<xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
|
||||
<xsd:complexType name="SPUserNoticeType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="NoticeRef" type="NoticeReferenceType" minOccurs="0"/>
|
||||
<xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="NoticeReferenceType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Organization" type="xsd:string"/>
|
||||
<xsd:element name="NoticeNumbers" type="IntegerListType"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="IntegerListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="int" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="CounterSignature" type="CounterSignatureType"/>
|
||||
<xsd:complexType name="CounterSignatureType">
|
||||
<xsd:sequence>
|
||||
<xsd:element ref="ds:Signature"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
|
||||
<xsd:complexType name="DataObjectFormatType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" minOccurs="0"/>
|
||||
<xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
|
||||
<xsd:complexType name="CommitmentTypeIndicationType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
|
||||
<xsd:choice>
|
||||
<xsd:element name="ObjectReference" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xsd:element name="AllSignedDataObjects"/>
|
||||
</xsd:choice>
|
||||
<xsd:element name="CommitmentTypeQualifiers" type="CommitmentTypeQualifiersListType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CommitmentTypeQualifiersListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CommitmentTypeQualifier" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType"/>
|
||||
<xsd:complexType name="SignatureProductionPlaceType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="City" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
|
||||
<xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SignerRole" type="SignerRoleType"/>
|
||||
<xsd:complexType name="SignerRoleType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ClaimedRoles" type="ClaimedRolesListType" minOccurs="0"/>
|
||||
<xsd:element name="CertifiedRoles" type="CertifiedRolesListType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="ClaimedRolesListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CertifiedRolesListType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="SignatureTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
|
||||
<xsd:complexType name="CompleteCertificateRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CertRefs" type="CertIDListType"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
|
||||
<xsd:complexType name="CompleteRevocationRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
|
||||
<xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
|
||||
<xsd:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLRefType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
|
||||
<xsd:element name="CRLIdentifier" type="CRLIdentifierType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLIdentifierType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Issuer" type="xsd:string"/>
|
||||
<xsd:element name="IssueTime" type="xsd:dateTime"/>
|
||||
<xsd:element name="Number" type="xsd:integer" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPRefType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
|
||||
<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPIdentifierType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="ResponderID" type="xsd:string"/>
|
||||
<xsd:element name="ProducedAt" type="xsd:dateTime"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OtherCertStatusRefsType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="SigAndRefsTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="RefsOnlyTimeStamp" type="TimeStampType"/>
|
||||
<xsd:element name="CertificateValues" type="CertificateValuesType"/>
|
||||
<xsd:complexType name="CertificateValuesType">
|
||||
<xsd:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xsd:element name="EncapsulatedX509Certificate" type="EncapsulatedPKIDataType"/>
|
||||
<xsd:element name="OtherCertificate" type="AnyType"/>
|
||||
</xsd:choice>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="RevocationValues" type="RevocationValuesType"/>
|
||||
<xsd:complexType name="RevocationValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
|
||||
<xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
|
||||
<xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="CRLValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OCSPValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="EncapsulatedOCSPValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:complexType name="OtherCertStatusValuesType">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
|
||||
</xsd:sequence>
|
||||
</xsd:complexType>
|
||||
<xsd:element name="ArchiveTimeStamp" type="TimeStampType"/>
|
||||
</xsd:schema>
|
||||
|
@ -1,123 +1,123 @@
|
||||
algorithm.alreadyRegistered = URI {0} already assigned to class {1}
|
||||
algorithm.classDoesNotExist = Cannot register URI {0} to class {1} because this class does not exist in CLASSPATH
|
||||
algorithm.ClassDoesNotExist = Class {0} does not exist
|
||||
algorithm.extendsWrongClass = Cannot register URI {0} to class {1} because it does not extend {2}
|
||||
algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
|
||||
algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
|
||||
algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
|
||||
algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
|
||||
algorithms.NoSuchAlgorithm = The requested algorithm {0} does not exist. Original Message was: {1}
|
||||
algorithms.NoSuchMap = The algorithm URI "{0}" could not be mapped to a JCE algorithm
|
||||
algorithms.NoSuchProvider = The specified Provider {0} does not exist. Original Message was: {1}
|
||||
algorithms.operationOnlyVerification = A public key can only used for verification of a signature.
|
||||
algorithms.WrongKeyForThisOperation = Sorry, you supplied the wrong key type for this operation! You supplied a {0} but a {1} is needed.
|
||||
attributeValueIllegal = The attribute {0} has value {1} but must be {2}
|
||||
c14n.Canonicalizer.Exception = Exception during Canonicalization: Original Message was {0}
|
||||
c14n.Canonicalizer.IllegalNode = Illegal node type {0}, node name was {1}
|
||||
c14n.Canonicalizer.NoSuchCanonicalizer = No canonicalizer found with URI {0}
|
||||
c14n.Canonicalizer.ParserConfigurationException = ParserConfigurationException during Canonicalization: Original Message was {0}
|
||||
c14n.Canonicalizer.RelativeNamespace = Element {0} has a relative namespace: {1}="{2}"
|
||||
c14n.Canonicalizer.SAXException = SAXException during Canonicalization: Original Message was {0}
|
||||
c14n.Canonicalizer.TraversalNotSupported = This DOM document does not support Traversal {0}
|
||||
c14n.Canonicalizer.UnsupportedEncoding = Unsupported encoding {0}
|
||||
c14n.Canonicalizer.UnsupportedOperation = This canonicalizer does not support this operation
|
||||
c14n.XMLUtils.circumventBug2650forgotten = The tree has not been prepared for canonicalization using XMLUtils#circumventBug2650(Document)
|
||||
certificate.noSki.lowVersion = Certificate cannot contain a SubjectKeyIdentifier because it is only X509v{0}
|
||||
certificate.noSki.notOctetString = Certificates SubjectKeyIdentifier is not a OctetString
|
||||
certificate.noSki.null = Certificate does not contain a SubjectKeyIdentifier
|
||||
defaultNamespaceCannotBeSetHere = Default namespace cannot be set here
|
||||
ElementProxy.nullElement = Cannot create an ElementProxy from a null argument
|
||||
empty = {0}
|
||||
encryption.algorithmCannotBeUsedForEncryptedData = encryption.algorithmCannotBeUsedForEncryptedData {0}
|
||||
encryption.algorithmCannotEatInitParams = encryption.algorithmCannotEatInitParams
|
||||
encryption.algorithmCannotEncryptDecrypt = encryption.algorithmCannotEncryptDecrypt
|
||||
encryption.algorithmCannotWrapUnWrap = encryption.algorithmCannotWrapUnWrap
|
||||
encryption.ExplicitKeySizeMismatch = The xenc:KeySize element requests a key size of {0} bit but the algorithm implements {1} bit
|
||||
encryption.nonceLongerThanDecryptedPlaintext = The given nonce is longer than the available plaintext. I Cannot strip away this.
|
||||
encryption.RSAOAEP.dataHashWrong = data hash wrong
|
||||
encryption.RSAOAEP.dataStartWrong = data wrong start {0}
|
||||
encryption.RSAOAEP.dataTooShort = data too short
|
||||
encryption.RSAPKCS15.blockTruncated = block truncated
|
||||
encryption.RSAPKCS15.noDataInBlock = no data in block
|
||||
encryption.RSAPKCS15.unknownBlockType = unknown block type
|
||||
encryption.nokey = No Key Encryption Key loaded and cannot determine using key resolvers
|
||||
endorsed.jdk1.4.0 = Since it seems that nobody reads our installation notes, we must do it in the exception messages. Hope you read them. You did NOT use the endorsed mechanism from JDK 1.4 properly; look at <http://xml.apache.org/security/Java/installation.html> how to solve this problem.
|
||||
errorMessages.InvalidDigestValueException = INVALID signature -- check reference resolution.
|
||||
errorMessages.InvalidSignatureValueException = INVALID signature -- core validation failed.
|
||||
errorMessages.IOException = Other file I/O and similar exceptions.
|
||||
errorMessages.MissingKeyFailureException = Cannot verify because of missing public key. Provide it via addResource and try again.
|
||||
errorMessages.MissingResourceFailureException = Cannot verify because of unresolved references. Provide it via addResource and try again.
|
||||
errorMessages.NoSuchAlgorithmException = Unknown Algorithm {0}
|
||||
errorMessages.NotYetImplementedException = Functionality not yet there.
|
||||
errorMessages.XMLSignatureException = Verification failed for some other reason.
|
||||
decoding.divisible.four = It should be divisible by four
|
||||
decoding.general = Error while decoding
|
||||
FileKeyStorageImpl.addToDefaultFromRemoteNotImplemented = Method addToDefaultFromRemote() not yet implemented.
|
||||
FileKeyStorageImpl.NoCert.Context = Not found such a X509Certificate including context {0}
|
||||
FileKeyStorageImpl.NoCert.IssNameSerNo = Not found such a X509Certificate with IssuerName {0} and serial number {1}
|
||||
FileKeyStorageImpl.NoCert.SubjName = Not found such a X509Certificate including SubjectName {0}
|
||||
generic.dontHaveConstructionElement = I do not have a construction Element
|
||||
generic.EmptyMessage = {0}
|
||||
generic.NotYetImplemented = {0} Not YET implemented ;-((
|
||||
java.security.InvalidKeyException = Invalid key
|
||||
java.security.NoSuchProviderException = Unknown or unsupported provider
|
||||
java.security.UnknownKeyType = Unknown or unsupported key type {0}
|
||||
KeyInfo.needKeyResolver = More than one keyResovler have to be registered
|
||||
KeyInfo.nokey = Cannot get key from {0}
|
||||
KeyInfo.noKey = Cannot get the public key
|
||||
KeyInfo.wrongNumberOfObject = Need {0} keyObjects
|
||||
KeyInfo.wrongUse = This object was made for getting {0}
|
||||
keyResolver.alreadyRegistered = {1} class has already been registered for {0}
|
||||
KeyResolver.needStorageResolver = Need a StorageResolver to retrieve a Certificate from a {0}
|
||||
KeyResoverSpiImpl.cannotGetCert = Cannot get the Certificate that include or in {1} in implement class {0}
|
||||
KeyResoverSpiImpl.elementGeneration = Cannot make {1} element in implement class {0}
|
||||
KeyResoverSpiImpl.getPoublicKey = Cannot get the public key from implement class {0}
|
||||
KeyResoverSpiImpl.InvalidElement = Cannot set (2) Element in implement class {0}
|
||||
KeyResoverSpiImpl.keyStore = KeyStorage error in implement class {0}
|
||||
KeyResoverSpiImpl.need.Element = {1} type of Element is needed in implement class {0}
|
||||
KeyResoverSpiImpl.wrongCRLElement = Cannot make CRL from {1} in implement class {0}
|
||||
KeyResoverSpiImpl.wrongKeyObject = Need {1} type of KeyObject for generation Element in implement class{0}
|
||||
KeyResoverSpiImpl.wrongNumberOfObject = Need {1} keyObject in implement class {0}
|
||||
KeyStore.alreadyRegistered = {0} Class has already been registered for {1}
|
||||
KeyStore.register = {1} type class register error in class {0}
|
||||
KeyStore.registerStore.register = Registeration error for type {0}
|
||||
KeyValue.IllegalArgument = Cannot create a {0} from {1}
|
||||
namespacePrefixAlreadyUsedByOtherURI = Namespace prefix {0} already used by other URI {1}
|
||||
notYetInitialized = The module {0} is not yet initialized
|
||||
prefix.AlreadyAssigned = You want to assign {0} as prefix for namespace {1} but it is already assigned for {2}
|
||||
signature.Canonicalizer.UnknownCanonicalizer = Unknown canonicalizer. No handler installed for URI {0}
|
||||
signature.DSA.invalidFormat = Invalid ASN.1 encoding of the DSA signature
|
||||
signature.Generation.signBeforeGetValue = You have to XMLSignature.sign(java.security.PrivateKey) first
|
||||
signature.signaturePropertyHasNoTarget = The Target attribute of the SignatureProperty must be set
|
||||
signature.Transform.ErrorDuringTransform = A {1} was thrown during the {0} transform
|
||||
signature.Transform.NotYetImplemented = Transform {0} not yet implemented
|
||||
signature.Transform.NullPointerTransform = Null pointer as URI. Programming bug?
|
||||
signature.Transform.UnknownTransform = Unknown transformation. No handler installed for URI {0}
|
||||
signature.Transform.node = Current Node: {0}
|
||||
signature.Transform.nodeAndType = Current Node: {0}, type: {1}
|
||||
signature.Util.BignumNonPositive = bigInteger.signum() must be positive
|
||||
signature.Util.NonTextNode = Not a text node
|
||||
signature.Util.TooManyChilds = Too many childs of Type {0} in {1}
|
||||
signature.Verification.certificateError = Certificate error
|
||||
signature.Verification.IndexOutOfBounds = Index {0} illegal. We only have {1} References
|
||||
signature.Verification.internalError = Internal error
|
||||
signature.Verification.InvalidDigestOrReference = Invalid digest of reference {0}
|
||||
signature.Verification.keyStore = KeyStore error
|
||||
signature.Verification.MissingID = Cannot resolve element with ID {0}
|
||||
signature.Verification.MissingResources = Cannot resolve external resource {0}
|
||||
signature.Verification.NoSignatureElement = Input document contains no {0} Element in namespace {1}
|
||||
signature.Verification.Reference.NoInput = The Reference for URI {0} has no XMLSignatureInput
|
||||
signature.Verification.SignatureError = Signature error
|
||||
signature.XMLSignatureInput.MissingConstuctor = Cannot construct a XMLSignatureInput from class {0}
|
||||
signature.XMLSignatureInput.SerializeDOM = Input initialized with DOM Element. Use Canonicalization to serialize it
|
||||
signature.XMLSignatureInput.nodesetReference = Unable to convert to nodeset the reference
|
||||
transform.Init.IllegalContextArgument = Invalid context argument of class {0}. Must be String, org.w3c.dom.NodeList or java.io.InputStream.
|
||||
transform.init.NotInitialized =
|
||||
transform.init.wrongURI = Initialized with wrong URI. How could this happen? We implement {0} but {1} was used during initialization
|
||||
utils.Base64.IllegalBitlength = Illegal byte length; Data to be decoded must be a multiple of 4
|
||||
Base64Decoding = Error while decoding
|
||||
utils.resolver.noClass = Could not find a resolver for URI {0} and Base {1}
|
||||
xml.WrongContent = Cannot find {0} in {1}
|
||||
xml.WrongElement = Cannot create a {0} from a {1} element
|
||||
xpath.funcHere.documentsDiffer = The XPath is not in the same document as the context node
|
||||
xpath.funcHere.noXPathContext = Try to evaluate an XPath which uses the here() function but XPath is not inside an ds:XPath Element. XPath was : {0}
|
||||
algorithm.alreadyRegistered = URI {0} already assigned to class {1}
|
||||
algorithm.classDoesNotExist = Cannot register URI {0} to class {1} because this class does not exist in CLASSPATH
|
||||
algorithm.ClassDoesNotExist = Class {0} does not exist
|
||||
algorithm.extendsWrongClass = Cannot register URI {0} to class {1} because it does not extend {2}
|
||||
algorithms.CannotUseAlgorithmParameterSpecOnDSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating DSA signatures.
|
||||
algorithms.CannotUseAlgorithmParameterSpecOnRSA = Sorry, but you cannot use a AlgorithmParameterSpec object for creating RSA signatures.
|
||||
algorithms.CannotUseSecureRandomOnMAC = Sorry, but you cannot use a SecureRandom object for creating MACs.
|
||||
algorithms.HMACOutputLengthOnlyForHMAC = A HMACOutputLength can only be specified for HMAC integrity algorithms
|
||||
algorithms.NoSuchAlgorithm = The requested algorithm {0} does not exist. Original Message was: {1}
|
||||
algorithms.NoSuchMap = The algorithm URI "{0}" could not be mapped to a JCE algorithm
|
||||
algorithms.NoSuchProvider = The specified Provider {0} does not exist. Original Message was: {1}
|
||||
algorithms.operationOnlyVerification = A public key can only used for verification of a signature.
|
||||
algorithms.WrongKeyForThisOperation = Sorry, you supplied the wrong key type for this operation! You supplied a {0} but a {1} is needed.
|
||||
attributeValueIllegal = The attribute {0} has value {1} but must be {2}
|
||||
c14n.Canonicalizer.Exception = Exception during Canonicalization: Original Message was {0}
|
||||
c14n.Canonicalizer.IllegalNode = Illegal node type {0}, node name was {1}
|
||||
c14n.Canonicalizer.NoSuchCanonicalizer = No canonicalizer found with URI {0}
|
||||
c14n.Canonicalizer.ParserConfigurationException = ParserConfigurationException during Canonicalization: Original Message was {0}
|
||||
c14n.Canonicalizer.RelativeNamespace = Element {0} has a relative namespace: {1}="{2}"
|
||||
c14n.Canonicalizer.SAXException = SAXException during Canonicalization: Original Message was {0}
|
||||
c14n.Canonicalizer.TraversalNotSupported = This DOM document does not support Traversal {0}
|
||||
c14n.Canonicalizer.UnsupportedEncoding = Unsupported encoding {0}
|
||||
c14n.Canonicalizer.UnsupportedOperation = This canonicalizer does not support this operation
|
||||
c14n.XMLUtils.circumventBug2650forgotten = The tree has not been prepared for canonicalization using XMLUtils#circumventBug2650(Document)
|
||||
certificate.noSki.lowVersion = Certificate cannot contain a SubjectKeyIdentifier because it is only X509v{0}
|
||||
certificate.noSki.notOctetString = Certificates SubjectKeyIdentifier is not a OctetString
|
||||
certificate.noSki.null = Certificate does not contain a SubjectKeyIdentifier
|
||||
defaultNamespaceCannotBeSetHere = Default namespace cannot be set here
|
||||
ElementProxy.nullElement = Cannot create an ElementProxy from a null argument
|
||||
empty = {0}
|
||||
encryption.algorithmCannotBeUsedForEncryptedData = encryption.algorithmCannotBeUsedForEncryptedData {0}
|
||||
encryption.algorithmCannotEatInitParams = encryption.algorithmCannotEatInitParams
|
||||
encryption.algorithmCannotEncryptDecrypt = encryption.algorithmCannotEncryptDecrypt
|
||||
encryption.algorithmCannotWrapUnWrap = encryption.algorithmCannotWrapUnWrap
|
||||
encryption.ExplicitKeySizeMismatch = The xenc:KeySize element requests a key size of {0} bit but the algorithm implements {1} bit
|
||||
encryption.nonceLongerThanDecryptedPlaintext = The given nonce is longer than the available plaintext. I Cannot strip away this.
|
||||
encryption.RSAOAEP.dataHashWrong = data hash wrong
|
||||
encryption.RSAOAEP.dataStartWrong = data wrong start {0}
|
||||
encryption.RSAOAEP.dataTooShort = data too short
|
||||
encryption.RSAPKCS15.blockTruncated = block truncated
|
||||
encryption.RSAPKCS15.noDataInBlock = no data in block
|
||||
encryption.RSAPKCS15.unknownBlockType = unknown block type
|
||||
encryption.nokey = No Key Encryption Key loaded and cannot determine using key resolvers
|
||||
endorsed.jdk1.4.0 = Since it seems that nobody reads our installation notes, we must do it in the exception messages. Hope you read them. You did NOT use the endorsed mechanism from JDK 1.4 properly; look at <http://xml.apache.org/security/Java/installation.html> how to solve this problem.
|
||||
errorMessages.InvalidDigestValueException = INVALID signature -- check reference resolution.
|
||||
errorMessages.InvalidSignatureValueException = INVALID signature -- core validation failed.
|
||||
errorMessages.IOException = Other file I/O and similar exceptions.
|
||||
errorMessages.MissingKeyFailureException = Cannot verify because of missing public key. Provide it via addResource and try again.
|
||||
errorMessages.MissingResourceFailureException = Cannot verify because of unresolved references. Provide it via addResource and try again.
|
||||
errorMessages.NoSuchAlgorithmException = Unknown Algorithm {0}
|
||||
errorMessages.NotYetImplementedException = Functionality not yet there.
|
||||
errorMessages.XMLSignatureException = Verification failed for some other reason.
|
||||
decoding.divisible.four = It should be divisible by four
|
||||
decoding.general = Error while decoding
|
||||
FileKeyStorageImpl.addToDefaultFromRemoteNotImplemented = Method addToDefaultFromRemote() not yet implemented.
|
||||
FileKeyStorageImpl.NoCert.Context = Not found such a X509Certificate including context {0}
|
||||
FileKeyStorageImpl.NoCert.IssNameSerNo = Not found such a X509Certificate with IssuerName {0} and serial number {1}
|
||||
FileKeyStorageImpl.NoCert.SubjName = Not found such a X509Certificate including SubjectName {0}
|
||||
generic.dontHaveConstructionElement = I do not have a construction Element
|
||||
generic.EmptyMessage = {0}
|
||||
generic.NotYetImplemented = {0} Not YET implemented ;-((
|
||||
java.security.InvalidKeyException = Invalid key
|
||||
java.security.NoSuchProviderException = Unknown or unsupported provider
|
||||
java.security.UnknownKeyType = Unknown or unsupported key type {0}
|
||||
KeyInfo.needKeyResolver = More than one keyResovler have to be registered
|
||||
KeyInfo.nokey = Cannot get key from {0}
|
||||
KeyInfo.noKey = Cannot get the public key
|
||||
KeyInfo.wrongNumberOfObject = Need {0} keyObjects
|
||||
KeyInfo.wrongUse = This object was made for getting {0}
|
||||
keyResolver.alreadyRegistered = {1} class has already been registered for {0}
|
||||
KeyResolver.needStorageResolver = Need a StorageResolver to retrieve a Certificate from a {0}
|
||||
KeyResoverSpiImpl.cannotGetCert = Cannot get the Certificate that include or in {1} in implement class {0}
|
||||
KeyResoverSpiImpl.elementGeneration = Cannot make {1} element in implement class {0}
|
||||
KeyResoverSpiImpl.getPoublicKey = Cannot get the public key from implement class {0}
|
||||
KeyResoverSpiImpl.InvalidElement = Cannot set (2) Element in implement class {0}
|
||||
KeyResoverSpiImpl.keyStore = KeyStorage error in implement class {0}
|
||||
KeyResoverSpiImpl.need.Element = {1} type of Element is needed in implement class {0}
|
||||
KeyResoverSpiImpl.wrongCRLElement = Cannot make CRL from {1} in implement class {0}
|
||||
KeyResoverSpiImpl.wrongKeyObject = Need {1} type of KeyObject for generation Element in implement class{0}
|
||||
KeyResoverSpiImpl.wrongNumberOfObject = Need {1} keyObject in implement class {0}
|
||||
KeyStore.alreadyRegistered = {0} Class has already been registered for {1}
|
||||
KeyStore.register = {1} type class register error in class {0}
|
||||
KeyStore.registerStore.register = Registeration error for type {0}
|
||||
KeyValue.IllegalArgument = Cannot create a {0} from {1}
|
||||
namespacePrefixAlreadyUsedByOtherURI = Namespace prefix {0} already used by other URI {1}
|
||||
notYetInitialized = The module {0} is not yet initialized
|
||||
prefix.AlreadyAssigned = You want to assign {0} as prefix for namespace {1} but it is already assigned for {2}
|
||||
signature.Canonicalizer.UnknownCanonicalizer = Unknown canonicalizer. No handler installed for URI {0}
|
||||
signature.DSA.invalidFormat = Invalid ASN.1 encoding of the DSA signature
|
||||
signature.Generation.signBeforeGetValue = You have to XMLSignature.sign(java.security.PrivateKey) first
|
||||
signature.signaturePropertyHasNoTarget = The Target attribute of the SignatureProperty must be set
|
||||
signature.Transform.ErrorDuringTransform = A {1} was thrown during the {0} transform
|
||||
signature.Transform.NotYetImplemented = Transform {0} not yet implemented
|
||||
signature.Transform.NullPointerTransform = Null pointer as URI. Programming bug?
|
||||
signature.Transform.UnknownTransform = Unknown transformation. No handler installed for URI {0}
|
||||
signature.Transform.node = Current Node: {0}
|
||||
signature.Transform.nodeAndType = Current Node: {0}, type: {1}
|
||||
signature.Util.BignumNonPositive = bigInteger.signum() must be positive
|
||||
signature.Util.NonTextNode = Not a text node
|
||||
signature.Util.TooManyChilds = Too many childs of Type {0} in {1}
|
||||
signature.Verification.certificateError = Certificate error
|
||||
signature.Verification.IndexOutOfBounds = Index {0} illegal. We only have {1} References
|
||||
signature.Verification.internalError = Internal error
|
||||
signature.Verification.InvalidDigestOrReference = Invalid digest of reference {0}
|
||||
signature.Verification.keyStore = KeyStore error
|
||||
signature.Verification.MissingID = Cannot resolve element with ID {0}
|
||||
signature.Verification.MissingResources = Cannot resolve external resource {0}
|
||||
signature.Verification.NoSignatureElement = Input document contains no {0} Element in namespace {1}
|
||||
signature.Verification.Reference.NoInput = The Reference for URI {0} has no XMLSignatureInput
|
||||
signature.Verification.SignatureError = Signature error
|
||||
signature.XMLSignatureInput.MissingConstuctor = Cannot construct a XMLSignatureInput from class {0}
|
||||
signature.XMLSignatureInput.SerializeDOM = Input initialized with DOM Element. Use Canonicalization to serialize it
|
||||
signature.XMLSignatureInput.nodesetReference = Unable to convert to nodeset the reference
|
||||
transform.Init.IllegalContextArgument = Invalid context argument of class {0}. Must be String, org.w3c.dom.NodeList or java.io.InputStream.
|
||||
transform.init.NotInitialized =
|
||||
transform.init.wrongURI = Initialized with wrong URI. How could this happen? We implement {0} but {1} was used during initialization
|
||||
utils.Base64.IllegalBitlength = Illegal byte length; Data to be decoded must be a multiple of 4
|
||||
Base64Decoding = Error while decoding
|
||||
utils.resolver.noClass = Could not find a resolver for URI {0} and Base {1}
|
||||
xml.WrongContent = Cannot find {0} in {1}
|
||||
xml.WrongElement = Cannot create a {0} from a {1} element
|
||||
xpath.funcHere.documentsDiffer = The XPath is not in the same document as the context node
|
||||
xpath.funcHere.noXPathContext = Try to evaluate an XPath which uses the here() function but XPath is not inside an ds:XPath Element. XPath was : {0}
|
||||
|
@ -91,9 +91,7 @@ abstract public class EventRequestSpec {
|
||||
|
||||
void attemptImmediateResolve(VirtualMachine vm) {
|
||||
// try to resolve immediately
|
||||
Iterator iter = vm.allClasses().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType refType = (ReferenceType)iter.next();
|
||||
for (ReferenceType refType : vm.allClasses()) {
|
||||
if (refSpec.matches(refType)) {
|
||||
try {
|
||||
resolve(refType);
|
||||
|
@ -47,9 +47,8 @@ class EventRequestSpecList {
|
||||
*/
|
||||
void resolve(ReferenceType refType) {
|
||||
synchronized(eventRequestSpecs) {
|
||||
Iterator iter = eventRequestSpecs.iterator();
|
||||
while (iter.hasNext()) {
|
||||
((EventRequestSpec)iter.next()).attemptResolve(refType);
|
||||
for (EventRequestSpec spec : eventRequestSpecs) {
|
||||
spec.attemptResolve(refType);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -79,7 +78,7 @@ class EventRequestSpecList {
|
||||
|
||||
BreakpointSpec
|
||||
createMethodBreakpoint(String classPattern,
|
||||
String methodId, List methodArgs) {
|
||||
String methodId, List<String> methodArgs) {
|
||||
ReferenceTypeSpec refSpec =
|
||||
new PatternReferenceTypeSpec(classPattern);
|
||||
return new MethodBreakpointSpec(this, refSpec,
|
||||
@ -132,47 +131,48 @@ class EventRequestSpecList {
|
||||
|
||||
// -------- notify routines --------------------
|
||||
|
||||
private Vector specListeners() {
|
||||
return (Vector)runtime.specListeners.clone();
|
||||
@SuppressWarnings("unchecked")
|
||||
private Vector<SpecListener> specListeners() {
|
||||
return (Vector<SpecListener>)runtime.specListeners.clone();
|
||||
}
|
||||
|
||||
void notifySet(EventRequestSpec spec) {
|
||||
Vector l = specListeners();
|
||||
Vector<SpecListener> l = specListeners();
|
||||
SpecEvent evt = new SpecEvent(spec);
|
||||
for (int i = 0; i < l.size(); i++) {
|
||||
spec.notifySet((SpecListener)l.elementAt(i), evt);
|
||||
spec.notifySet(l.elementAt(i), evt);
|
||||
}
|
||||
}
|
||||
|
||||
void notifyDeferred(EventRequestSpec spec) {
|
||||
Vector l = specListeners();
|
||||
Vector<SpecListener> l = specListeners();
|
||||
SpecEvent evt = new SpecEvent(spec);
|
||||
for (int i = 0; i < l.size(); i++) {
|
||||
spec.notifyDeferred((SpecListener)l.elementAt(i), evt);
|
||||
spec.notifyDeferred(l.elementAt(i), evt);
|
||||
}
|
||||
}
|
||||
|
||||
void notifyDeleted(EventRequestSpec spec) {
|
||||
Vector l = specListeners();
|
||||
Vector<SpecListener> l = specListeners();
|
||||
SpecEvent evt = new SpecEvent(spec);
|
||||
for (int i = 0; i < l.size(); i++) {
|
||||
spec.notifyDeleted((SpecListener)l.elementAt(i), evt);
|
||||
spec.notifyDeleted(l.elementAt(i), evt);
|
||||
}
|
||||
}
|
||||
|
||||
void notifyResolved(EventRequestSpec spec) {
|
||||
Vector l = specListeners();
|
||||
Vector<SpecListener> l = specListeners();
|
||||
SpecEvent evt = new SpecEvent(spec);
|
||||
for (int i = 0; i < l.size(); i++) {
|
||||
spec.notifyResolved((SpecListener)l.elementAt(i), evt);
|
||||
spec.notifyResolved(l.elementAt(i), evt);
|
||||
}
|
||||
}
|
||||
|
||||
void notifyError(EventRequestSpec spec, Exception exc) {
|
||||
Vector l = specListeners();
|
||||
Vector<SpecListener> l = specListeners();
|
||||
SpecErrorEvent evt = new SpecErrorEvent(spec, exc);
|
||||
for (int i = 0; i < l.size(); i++) {
|
||||
spec.notifyError((SpecListener)l.elementAt(i), evt);
|
||||
spec.notifyError(l.elementAt(i), evt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -232,10 +232,7 @@ public class ExecutionManager {
|
||||
if (pattern.startsWith("*.")) {
|
||||
// Wildcard matches any leading package name.
|
||||
pattern = pattern.substring(1);
|
||||
List classes = vm().allClasses();
|
||||
Iterator iter = classes.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType type = ((ReferenceType)iter.next());
|
||||
for (ReferenceType type : vm().allClasses()) {
|
||||
if (type.name().endsWith(pattern)) {
|
||||
result.add(type);
|
||||
}
|
||||
@ -278,7 +275,7 @@ public class ExecutionManager {
|
||||
public ThreadGroupReference systemThreadGroup()
|
||||
throws NoSessionException {
|
||||
ensureActiveSession();
|
||||
return (ThreadGroupReference)vm().topLevelThreadGroups().get(0);
|
||||
return vm().topLevelThreadGroups().get(0);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -349,10 +346,9 @@ public class ExecutionManager {
|
||||
* attach sessions.
|
||||
*/
|
||||
VirtualMachineManager mgr = Bootstrap.virtualMachineManager();
|
||||
List connectors = mgr.attachingConnectors();
|
||||
AttachingConnector connector = (AttachingConnector)connectors.get(0);
|
||||
AttachingConnector connector = mgr.attachingConnectors().get(0);
|
||||
Map<String, Connector.Argument> arguments = connector.defaultArguments();
|
||||
((Connector.Argument)arguments.get("port")).setValue(portName);
|
||||
arguments.get("port").setValue(portName);
|
||||
|
||||
Session newSession = internalAttach(connector, arguments);
|
||||
if (newSession != null) {
|
||||
@ -504,10 +500,7 @@ public class ExecutionManager {
|
||||
* if so, it gets removed here.
|
||||
*/
|
||||
EventRequestManager mgr = vm().eventRequestManager();
|
||||
List requests = mgr.stepRequests();
|
||||
Iterator iter = requests.iterator();
|
||||
while (iter.hasNext()) {
|
||||
StepRequest request = (StepRequest)iter.next();
|
||||
for (StepRequest request : mgr.stepRequests()) {
|
||||
if (request.thread().equals(thread)) {
|
||||
mgr.deleteEventRequest(request);
|
||||
break;
|
||||
@ -591,7 +584,7 @@ public class ExecutionManager {
|
||||
if (session == null || thread == null) {
|
||||
return null;
|
||||
}
|
||||
ThreadInfo info = (ThreadInfo)threadInfoMap.get(thread);
|
||||
ThreadInfo info = threadInfoMap.get(thread);
|
||||
if (info == null) {
|
||||
//### Should not hardcode initial frame count and prefetch here!
|
||||
//info = new ThreadInfo(thread, 10, 10);
|
||||
@ -607,24 +600,22 @@ public class ExecutionManager {
|
||||
|
||||
void validateThreadInfo() {
|
||||
session.interrupted = true;
|
||||
Iterator iter = threadInfoList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
((ThreadInfo)iter.next()).validate();
|
||||
for (ThreadInfo threadInfo : threadInfoList) {
|
||||
threadInfo.validate();
|
||||
}
|
||||
}
|
||||
|
||||
private void invalidateThreadInfo() {
|
||||
if (session != null) {
|
||||
session.interrupted = false;
|
||||
Iterator iter = threadInfoList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
((ThreadInfo)iter.next()).invalidate();
|
||||
for (ThreadInfo threadInfo : threadInfoList) {
|
||||
threadInfo.invalidate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void removeThreadInfo(ThreadReference thread) {
|
||||
ThreadInfo info = (ThreadInfo)threadInfoMap.get(thread);
|
||||
ThreadInfo info = threadInfoMap.get(thread);
|
||||
if (info != null) {
|
||||
info.invalidate();
|
||||
threadInfoMap.remove(thread);
|
||||
@ -702,7 +693,7 @@ public class ExecutionManager {
|
||||
while (inputBuffer.size() < 1) {
|
||||
inputLock.wait();
|
||||
}
|
||||
line = (String)inputBuffer.removeLast();
|
||||
line = inputBuffer.removeLast();
|
||||
} catch (InterruptedException e) {}
|
||||
}
|
||||
}
|
||||
@ -774,7 +765,7 @@ public class ExecutionManager {
|
||||
|
||||
public BreakpointSpec
|
||||
createMethodBreakpoint(String classPattern,
|
||||
String methodId, List methodArgs) {
|
||||
String methodId, List<String> methodArgs) {
|
||||
return specList.createMethodBreakpoint(classPattern,
|
||||
methodId, methodArgs);
|
||||
}
|
||||
@ -811,7 +802,7 @@ public class ExecutionManager {
|
||||
specList.install(spec, vm());
|
||||
}
|
||||
|
||||
public List eventRequestSpecs() {
|
||||
public List<EventRequestSpec> eventRequestSpecs() {
|
||||
return specList.eventRequestSpecs();
|
||||
}
|
||||
}
|
||||
|
@ -82,9 +82,7 @@ class JDIEventSource extends Thread {
|
||||
boolean interrupted = es.suspendedAll();
|
||||
es.notify(firstListener);
|
||||
boolean wantInterrupt = JDIEventSource.this.wantInterrupt;
|
||||
for (Iterator it = session.runtime.jdiListeners.iterator();
|
||||
it.hasNext(); ) {
|
||||
JDIListener jl = (JDIListener)it.next();
|
||||
for (JDIListener jl : session.runtime.jdiListeners) {
|
||||
es.notify(jl);
|
||||
}
|
||||
if (interrupted && !wantInterrupt) {
|
||||
|
@ -58,12 +58,12 @@ public class LineBreakpointSpec extends BreakpointSpec {
|
||||
LineNotFoundException {
|
||||
Location location = null;
|
||||
try {
|
||||
List locs = clazz.locationsOfLine(lineNumber());
|
||||
List<Location> locs = clazz.locationsOfLine(lineNumber());
|
||||
if (locs.size() == 0) {
|
||||
throw new LineNotFoundException();
|
||||
}
|
||||
// TODO handle multiple locations
|
||||
location = (Location)locs.get(0);
|
||||
location = locs.get(0);
|
||||
if (location.method() == null) {
|
||||
throw new LineNotFoundException();
|
||||
}
|
||||
|
@ -34,11 +34,11 @@ import java.util.Iterator;
|
||||
|
||||
public class MethodBreakpointSpec extends BreakpointSpec {
|
||||
String methodId;
|
||||
List methodArgs;
|
||||
List<String> methodArgs;
|
||||
|
||||
MethodBreakpointSpec(EventRequestSpecList specs,
|
||||
ReferenceTypeSpec refSpec,
|
||||
String methodId, List methodArgs) {
|
||||
String methodId, List<String> methodArgs) {
|
||||
super(specs, refSpec);
|
||||
this.methodId = methodId;
|
||||
this.methodArgs = methodArgs;
|
||||
@ -76,7 +76,7 @@ public class MethodBreakpointSpec extends BreakpointSpec {
|
||||
return methodId;
|
||||
}
|
||||
|
||||
public List methodArgs() {
|
||||
public List<String> methodArgs() {
|
||||
return methodArgs;
|
||||
}
|
||||
|
||||
@ -120,14 +120,13 @@ public class MethodBreakpointSpec extends BreakpointSpec {
|
||||
buffer.append('.');
|
||||
buffer.append(methodId);
|
||||
if (methodArgs != null) {
|
||||
Iterator iter = methodArgs.iterator();
|
||||
boolean first = true;
|
||||
buffer.append('(');
|
||||
while (iter.hasNext()) {
|
||||
for (String name : methodArgs) {
|
||||
if (!first) {
|
||||
buffer.append(',');
|
||||
}
|
||||
buffer.append((String)iter.next());
|
||||
buffer.append(name);
|
||||
first = false;
|
||||
}
|
||||
buffer.append(")");
|
||||
@ -151,8 +150,8 @@ public class MethodBreakpointSpec extends BreakpointSpec {
|
||||
* and if the number of arguments in the method matches the
|
||||
* number of names passed
|
||||
*/
|
||||
private boolean compareArgTypes(Method method, List nameList) {
|
||||
List argTypeNames = method.argumentTypeNames();
|
||||
private boolean compareArgTypes(Method method, List<String> nameList) {
|
||||
List<String> argTypeNames = method.argumentTypeNames();
|
||||
|
||||
// If argument counts differ, we can stop here
|
||||
if (argTypeNames.size() != nameList.size()) {
|
||||
@ -162,8 +161,8 @@ public class MethodBreakpointSpec extends BreakpointSpec {
|
||||
// Compare each argument type's name
|
||||
int nTypes = argTypeNames.size();
|
||||
for (int i = 0; i < nTypes; ++i) {
|
||||
String comp1 = (String)argTypeNames.get(i);
|
||||
String comp2 = (String)nameList.get(i);
|
||||
String comp1 = argTypeNames.get(i);
|
||||
String comp2 = nameList.get(i);
|
||||
if (! comp1.equals(comp2)) {
|
||||
/*
|
||||
* We have to handle varargs. EG, the
|
||||
@ -288,22 +287,17 @@ public class MethodBreakpointSpec extends BreakpointSpec {
|
||||
List<String> argTypeNames = null;
|
||||
if (methodArgs() != null) {
|
||||
argTypeNames = new ArrayList<String>(methodArgs().size());
|
||||
Iterator iter = methodArgs().iterator();
|
||||
while (iter.hasNext()) {
|
||||
String name = (String)iter.next();
|
||||
for (String name : methodArgs()) {
|
||||
name = normalizeArgTypeName(name);
|
||||
argTypeNames.add(name);
|
||||
}
|
||||
}
|
||||
|
||||
// Check each method in the class for matches
|
||||
Iterator iter = clazz.methods().iterator();
|
||||
Method firstMatch = null; // first method with matching name
|
||||
Method exactMatch = null; // (only) method with same name & sig
|
||||
int matchCount = 0; // > 1 implies overload
|
||||
while (iter.hasNext()) {
|
||||
Method candidate = (Method)iter.next();
|
||||
|
||||
for (Method candidate : clazz.methods()) {
|
||||
if (candidate.name().equals(methodName())) {
|
||||
matchCount++;
|
||||
|
||||
|
@ -36,7 +36,7 @@ import java.util.Iterator;
|
||||
* Descend the tree of thread groups.
|
||||
* @author Robert G. Field
|
||||
*/
|
||||
public class ThreadGroupIterator implements Iterator {
|
||||
public class ThreadGroupIterator implements Iterator<ThreadGroupReference> {
|
||||
private final Stack<Iterator<ThreadGroupReference>> stack
|
||||
= new Stack<Iterator<ThreadGroupReference>>();
|
||||
|
||||
@ -56,8 +56,8 @@ public class ThreadGroupIterator implements Iterator {
|
||||
}
|
||||
*/
|
||||
|
||||
private Iterator top() {
|
||||
return (Iterator)stack.peek();
|
||||
private Iterator<ThreadGroupReference> top() {
|
||||
return stack.peek();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -77,12 +77,12 @@ public class ThreadGroupIterator implements Iterator {
|
||||
return !stack.isEmpty();
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
public ThreadGroupReference next() {
|
||||
return nextThreadGroup();
|
||||
}
|
||||
|
||||
public ThreadGroupReference nextThreadGroup() {
|
||||
ThreadGroupReference tg = (ThreadGroupReference)top().next();
|
||||
ThreadGroupReference tg = top().next();
|
||||
push(tg.threadGroups());
|
||||
return tg;
|
||||
}
|
||||
|
@ -30,8 +30,8 @@ import com.sun.jdi.ThreadReference;
|
||||
import java.util.List;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class ThreadIterator implements Iterator {
|
||||
Iterator it = null;
|
||||
public class ThreadIterator implements Iterator<ThreadReference> {
|
||||
Iterator<ThreadReference> it = null;
|
||||
ThreadGroupIterator tgi;
|
||||
|
||||
public ThreadIterator(ThreadGroupReference tg) {
|
||||
@ -53,12 +53,12 @@ public class ThreadIterator implements Iterator {
|
||||
return true;
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
public ThreadReference next() {
|
||||
return it.next();
|
||||
}
|
||||
|
||||
public ThreadReference nextThread() {
|
||||
return (ThreadReference)next();
|
||||
return next();
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
|
@ -191,11 +191,12 @@ abstract class LValue {
|
||||
return field;
|
||||
}
|
||||
|
||||
static List methodsByName(ReferenceType refType, String name, int kind) {
|
||||
List list = refType.methodsByName(name);
|
||||
Iterator iter = list.iterator();
|
||||
static List<Method> methodsByName(ReferenceType refType,
|
||||
String name, int kind) {
|
||||
List<Method> list = refType.methodsByName(name);
|
||||
Iterator<Method> iter = list.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method method = (Method)iter.next();
|
||||
Method method = iter.next();
|
||||
boolean isStatic = method.isStatic();
|
||||
if (((kind == STATIC) && !isStatic) ||
|
||||
((kind == INSTANCE) && isStatic)) {
|
||||
@ -231,21 +232,21 @@ abstract class LValue {
|
||||
* argType is not assignable from the type of the argument value.
|
||||
* IE, one is an Apple and the other is an Orange.
|
||||
*/
|
||||
static int argumentsMatch(List argTypes, List arguments) {
|
||||
static int argumentsMatch(List<Type> argTypes, List<Value> arguments) {
|
||||
if (argTypes.size() != arguments.size()) {
|
||||
return DIFFERENT;
|
||||
}
|
||||
|
||||
Iterator typeIter = argTypes.iterator();
|
||||
Iterator valIter = arguments.iterator();
|
||||
Iterator<Type> typeIter = argTypes.iterator();
|
||||
Iterator<Value> valIter = arguments.iterator();
|
||||
int result = SAME;
|
||||
|
||||
// If any pair aren't the same, change the
|
||||
// result to ASSIGNABLE. If any pair aren't
|
||||
// assignable, return DIFFERENT
|
||||
while (typeIter.hasNext()) {
|
||||
Type argType = (Type)typeIter.next();
|
||||
Value value = (Value)valIter.next();
|
||||
Type argType = typeIter.next();
|
||||
Value value = valIter.next();
|
||||
if (value == null) {
|
||||
// Null values can be passed to any non-primitive argument
|
||||
if (primitiveTypeNames.contains(argType.name())) {
|
||||
@ -333,7 +334,7 @@ abstract class LValue {
|
||||
if (fromType instanceof ArrayType) {
|
||||
return isArrayAssignableTo((ArrayType)fromType, toType);
|
||||
}
|
||||
List interfaces;
|
||||
List<InterfaceType> interfaces;
|
||||
if (fromType instanceof ClassType) {
|
||||
ClassType superclazz = ((ClassType)fromType).superclass();
|
||||
if ((superclazz != null) && isAssignableTo(superclazz, toType)) {
|
||||
@ -344,9 +345,7 @@ abstract class LValue {
|
||||
// fromType must be an InterfaceType
|
||||
interfaces = ((InterfaceType)fromType).superinterfaces();
|
||||
}
|
||||
Iterator iter = interfaces.iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceType interfaze = (InterfaceType)iter.next();
|
||||
for (InterfaceType interfaze : interfaces) {
|
||||
if (isAssignableTo(interfaze, toType)) {
|
||||
return true;
|
||||
}
|
||||
@ -354,7 +353,8 @@ abstract class LValue {
|
||||
return false;
|
||||
}
|
||||
|
||||
static Method resolveOverload(List overloads, List arguments)
|
||||
static Method resolveOverload(List<Method> overloads,
|
||||
List<Value> arguments)
|
||||
throws ParseException {
|
||||
|
||||
// If there is only one method to call, we'll just choose
|
||||
@ -362,7 +362,7 @@ abstract class LValue {
|
||||
// the invoke will return a better error message than we
|
||||
// could generate here.
|
||||
if (overloads.size() == 1) {
|
||||
return (Method)overloads.get(0);
|
||||
return overloads.get(0);
|
||||
}
|
||||
|
||||
// Resolving overloads is beyond the scope of this exercise.
|
||||
@ -374,12 +374,10 @@ abstract class LValue {
|
||||
// methods to call. And, since casts aren't implemented,
|
||||
// the user can't use them to pick a particular overload to call.
|
||||
// IE, the user is out of luck in this case.
|
||||
Iterator iter = overloads.iterator();
|
||||
Method retVal = null;
|
||||
int assignableCount = 0;
|
||||
while (iter.hasNext()) {
|
||||
Method mm = (Method)iter.next();
|
||||
List argTypes;
|
||||
for (Method mm : overloads) {
|
||||
List<Type> argTypes;
|
||||
try {
|
||||
argTypes = mm.argumentTypes();
|
||||
} catch (ClassNotLoadedException ee) {
|
||||
@ -443,7 +441,7 @@ abstract class LValue {
|
||||
final ObjectReference obj;
|
||||
final ThreadReference thread;
|
||||
final Field matchingField;
|
||||
final List overloads;
|
||||
final List<Method> overloads;
|
||||
Method matchingMethod = null;
|
||||
List<Value> methodArguments = null;
|
||||
|
||||
@ -510,7 +508,7 @@ abstract class LValue {
|
||||
final ReferenceType refType;
|
||||
final ThreadReference thread;
|
||||
final Field matchingField;
|
||||
final List overloads;
|
||||
final List<Method> overloads;
|
||||
Method matchingMethod = null;
|
||||
List<Value> methodArguments = null;
|
||||
|
||||
@ -765,7 +763,7 @@ abstract class LValue {
|
||||
static LValue makeNewObject(VirtualMachine vm,
|
||||
ExpressionParser.GetFrame frameGetter,
|
||||
String className, List<Value> arguments) throws ParseException {
|
||||
List classes = vm.classesByName(className);
|
||||
List<ReferenceType> classes = vm.classesByName(className);
|
||||
if (classes.size() == 0) {
|
||||
throw new ParseException("No class named: " + className);
|
||||
}
|
||||
@ -774,7 +772,7 @@ abstract class LValue {
|
||||
throw new ParseException("More than one class named: " +
|
||||
className);
|
||||
}
|
||||
ReferenceType refType = (ReferenceType)classes.get(0);
|
||||
ReferenceType refType = classes.get(0);
|
||||
|
||||
|
||||
if (!(refType instanceof ClassType)) {
|
||||
@ -784,9 +782,9 @@ abstract class LValue {
|
||||
|
||||
ClassType classType = (ClassType)refType;
|
||||
List<Method> methods = new ArrayList<Method>(classType.methods()); // writable
|
||||
Iterator iter = methods.iterator();
|
||||
Iterator<Method> iter = methods.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method method = (Method)iter.next();
|
||||
Method method = iter.next();
|
||||
if (!method.isConstructor()) {
|
||||
iter.remove();
|
||||
}
|
||||
@ -858,13 +856,13 @@ abstract class LValue {
|
||||
}
|
||||
// check for class name
|
||||
while (izer.hasMoreTokens()) {
|
||||
List classes = vm.classesByName(first);
|
||||
List<ReferenceType> classes = vm.classesByName(first);
|
||||
if (classes.size() > 0) {
|
||||
if (classes.size() > 1) {
|
||||
throw new ParseException("More than one class named: " +
|
||||
first);
|
||||
} else {
|
||||
ReferenceType refType = (ReferenceType)classes.get(0);
|
||||
ReferenceType refType = classes.get(0);
|
||||
LValue lval = new LValueStaticMember(refType,
|
||||
izer.nextToken(), thread);
|
||||
return nFields(lval, izer, thread);
|
||||
|
@ -124,9 +124,7 @@ public class ClassTreeTool extends JPanel {
|
||||
public void sessionStart(EventObject e) {
|
||||
// Get system classes and any others loaded before attaching.
|
||||
try {
|
||||
Iterator iter = runtime.allClasses().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType type = ((ReferenceType)iter.next());
|
||||
for (ReferenceType type : runtime.allClasses()) {
|
||||
root.addClass(type);
|
||||
}
|
||||
} catch (VMDisconnectedException ee) {
|
||||
|
@ -77,7 +77,7 @@ public class CommandInterpreter {
|
||||
while (ti.hasNext()) {
|
||||
tlist.add(ti.nextThread());
|
||||
}
|
||||
threads = (ThreadReference[])tlist.toArray(new ThreadReference[tlist.size()]);
|
||||
threads = tlist.toArray(new ThreadReference[tlist.size()]);
|
||||
}
|
||||
return threads;
|
||||
}
|
||||
@ -146,11 +146,9 @@ public class CommandInterpreter {
|
||||
// Command: classes
|
||||
|
||||
private void commandClasses() throws NoSessionException {
|
||||
List list = runtime.allClasses();
|
||||
OutputSink out = env.getOutputSink();
|
||||
//out.println("** classes list **");
|
||||
for (int i = 0 ; i < list.size() ; i++) {
|
||||
ReferenceType refType = (ReferenceType)list.get(i);
|
||||
for (ReferenceType refType : runtime.allClasses()) {
|
||||
out.println(refType.name());
|
||||
}
|
||||
out.show();
|
||||
@ -167,16 +165,16 @@ public class CommandInterpreter {
|
||||
String idClass = t.nextToken();
|
||||
ReferenceType cls = findClass(idClass);
|
||||
if (cls != null) {
|
||||
List methods = cls.allMethods();
|
||||
List<Method> methods = cls.allMethods();
|
||||
OutputSink out = env.getOutputSink();
|
||||
for (int i = 0; i < methods.size(); i++) {
|
||||
Method method = (Method)methods.get(i);
|
||||
Method method = methods.get(i);
|
||||
out.print(method.declaringType().name() + " " +
|
||||
method.name() + "(");
|
||||
Iterator it = method.argumentTypeNames().iterator();
|
||||
Iterator<String> it = method.argumentTypeNames().iterator();
|
||||
if (it.hasNext()) {
|
||||
while (true) {
|
||||
out.print((String)it.next());
|
||||
out.print(it.next());
|
||||
if (!it.hasNext()) {
|
||||
break;
|
||||
}
|
||||
@ -193,10 +191,10 @@ public class CommandInterpreter {
|
||||
}
|
||||
|
||||
private ReferenceType findClass(String pattern) throws NoSessionException {
|
||||
List results = runtime.findClassesMatchingPattern(pattern);
|
||||
List<ReferenceType> results = runtime.findClassesMatchingPattern(pattern);
|
||||
if (results.size() > 0) {
|
||||
//### Should handle multiple results sensibly.
|
||||
return (ReferenceType)results.get(0);
|
||||
return results.get(0);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@ -235,11 +233,11 @@ public class CommandInterpreter {
|
||||
|
||||
private int printThreadGroup(OutputSink out, ThreadGroupReference tg, int iThread) {
|
||||
out.println("Group " + tg.name() + ":");
|
||||
List tlist = tg.threads();
|
||||
List<ThreadReference> tlist = tg.threads();
|
||||
int maxId = 0;
|
||||
int maxName = 0;
|
||||
for (int i = 0 ; i < tlist.size() ; i++) {
|
||||
ThreadReference thr = (ThreadReference)tlist.get(i);
|
||||
ThreadReference thr = tlist.get(i);
|
||||
int len = Utils.description(thr).length();
|
||||
if (len > maxId)
|
||||
maxId = len;
|
||||
@ -254,7 +252,7 @@ public class CommandInterpreter {
|
||||
String maxNumString = String.valueOf(iThread + tlist.size());
|
||||
int maxNumDigits = maxNumString.length();
|
||||
for (int i = 0 ; i < tlist.size() ; i++) {
|
||||
ThreadReference thr = (ThreadReference)tlist.get(i);
|
||||
ThreadReference thr = tlist.get(i);
|
||||
char buf[] = new char[80];
|
||||
for (int j = 0; j < 79; j++) {
|
||||
buf[j] = ' ';
|
||||
@ -283,9 +281,7 @@ public class CommandInterpreter {
|
||||
sbOut.setLength(79);
|
||||
out.println(sbOut.toString());
|
||||
}
|
||||
List tglist = tg.threadGroups();
|
||||
for (int ig = 0; ig < tglist.size(); ig++) {
|
||||
ThreadGroupReference tg0 = (ThreadGroupReference)tglist.get(ig);
|
||||
for (ThreadGroupReference tg0 : tg.threadGroups()) {
|
||||
if (!tg.equals(tg0)) { // TODO ref mgt
|
||||
iThread += printThreadGroup(out, tg0, iThread + tlist.size());
|
||||
}
|
||||
@ -733,7 +729,7 @@ public class CommandInterpreter {
|
||||
if (token.toLowerCase().equals("all")) {
|
||||
ThreadIterator it = allThreads();
|
||||
while (it.hasNext()) {
|
||||
ThreadReference thread = (ThreadReference)it.next();
|
||||
ThreadReference thread = it.next();
|
||||
out.println(thread.name() + ": ");
|
||||
dumpStack(thread, showPC);
|
||||
}
|
||||
@ -755,7 +751,7 @@ public class CommandInterpreter {
|
||||
//env.failure("Target VM must be in interrupted state.");
|
||||
//env.failure("Current thread isn't suspended.");
|
||||
//### Should handle extremely long stack traces sensibly for user.
|
||||
List stack = null;
|
||||
List<StackFrame> stack = null;
|
||||
try {
|
||||
stack = thread.frames();
|
||||
} catch (IncompatibleThreadStateException e) {
|
||||
@ -772,7 +768,7 @@ public class CommandInterpreter {
|
||||
OutputSink out = env.getOutputSink();
|
||||
int nFrames = stack.size();
|
||||
for (int i = frameIndex; i < nFrames; i++) {
|
||||
StackFrame frame = (StackFrame)stack.get(i);
|
||||
StackFrame frame = stack.get(i);
|
||||
Location loc = frame.location();
|
||||
Method meth = loc.method();
|
||||
out.print(" [" + (i + 1) + "] ");
|
||||
@ -780,7 +776,7 @@ public class CommandInterpreter {
|
||||
out.print('.');
|
||||
out.print(meth.name());
|
||||
out.print(" (");
|
||||
if (meth instanceof Method && ((Method)meth).isNative()) {
|
||||
if (meth.isNative()) {
|
||||
out.print("native method");
|
||||
} else if (loc.lineNumber() != -1) {
|
||||
try {
|
||||
@ -806,14 +802,13 @@ public class CommandInterpreter {
|
||||
|
||||
private void listEventRequests() throws NoSessionException {
|
||||
// Print set breakpoints
|
||||
Iterator iter = runtime.eventRequestSpecs().iterator();
|
||||
if (!iter.hasNext()) {
|
||||
List<EventRequestSpec> specs = runtime.eventRequestSpecs();
|
||||
if (specs.isEmpty()) {
|
||||
env.notice("No breakpoints/watchpoints/exceptions set.");
|
||||
} else {
|
||||
OutputSink out = env.getOutputSink();
|
||||
out.println("Current breakpoints/watchpoints/exceptions set:");
|
||||
while (iter.hasNext()) {
|
||||
EventRequestSpec bp = (EventRequestSpec)iter.next();
|
||||
for (EventRequestSpec bp : specs) {
|
||||
out.println("\t" + bp);
|
||||
}
|
||||
out.show();
|
||||
@ -926,13 +921,13 @@ public class CommandInterpreter {
|
||||
//### need 'clear all'
|
||||
BreakpointSpec bpSpec = parseBreakpointSpec(t.nextToken());
|
||||
if (bpSpec != null) {
|
||||
Iterator iter = runtime.eventRequestSpecs().iterator();
|
||||
if (!iter.hasNext()) {
|
||||
List<EventRequestSpec> specs = runtime.eventRequestSpecs();
|
||||
|
||||
if (specs.isEmpty()) {
|
||||
env.notice("No breakpoints set.");
|
||||
} else {
|
||||
List<BreakpointSpec> toDelete = new ArrayList<BreakpointSpec>();
|
||||
while (iter.hasNext()) {
|
||||
BreakpointSpec spec = (BreakpointSpec)iter.next();
|
||||
List<EventRequestSpec> toDelete = new ArrayList<EventRequestSpec>();
|
||||
for (EventRequestSpec spec : specs) {
|
||||
if (spec.equals(bpSpec)) {
|
||||
toDelete.add(spec);
|
||||
}
|
||||
@ -941,7 +936,7 @@ public class CommandInterpreter {
|
||||
if (toDelete.size() <= 1) {
|
||||
env.notice("No matching breakpoint set.");
|
||||
}
|
||||
for (BreakpointSpec spec : toDelete) {
|
||||
for (EventRequestSpec spec : toDelete) {
|
||||
runtime.delete(spec);
|
||||
}
|
||||
}
|
||||
@ -988,7 +983,7 @@ public class CommandInterpreter {
|
||||
lineno = Integer.valueOf(id).intValue();
|
||||
} catch (NumberFormatException nfe) {
|
||||
// It isn't -- see if it's a method name.
|
||||
List meths = refType.methodsByName(id);
|
||||
List<Method> meths = refType.methodsByName(id);
|
||||
if (meths == null || meths.size() == 0) {
|
||||
env.failure(id +
|
||||
" is not a valid line number or " +
|
||||
@ -1001,7 +996,7 @@ public class CommandInterpreter {
|
||||
refType.name());
|
||||
return;
|
||||
}
|
||||
loc = ((Method)meths.get(0)).location();
|
||||
loc = meths.get(0).location();
|
||||
lineno = loc.lineNumber();
|
||||
}
|
||||
}
|
||||
@ -1121,7 +1116,7 @@ public class CommandInterpreter {
|
||||
return;
|
||||
}
|
||||
|
||||
List vars;
|
||||
List<LocalVariable> vars;
|
||||
try {
|
||||
vars = frame.visibleVariables();
|
||||
if (vars == null || vars.size() == 0) {
|
||||
@ -1136,15 +1131,13 @@ public class CommandInterpreter {
|
||||
|
||||
OutputSink out = env.getOutputSink();
|
||||
out.println("Method arguments:");
|
||||
for (Iterator it = vars.iterator(); it.hasNext(); ) {
|
||||
LocalVariable var = (LocalVariable)it.next();
|
||||
for (LocalVariable var : vars) {
|
||||
if (var.isArgument()) {
|
||||
printVar(out, var, frame);
|
||||
}
|
||||
}
|
||||
out.println("Local variables:");
|
||||
for (Iterator it = vars.iterator(); it.hasNext(); ) {
|
||||
LocalVariable var = (LocalVariable)it.next();
|
||||
for (LocalVariable var : vars) {
|
||||
if (!var.isArgument()) {
|
||||
printVar(out, var, frame);
|
||||
}
|
||||
@ -1245,8 +1238,7 @@ public class CommandInterpreter {
|
||||
private void dump(OutputSink out,
|
||||
ObjectReference obj, ReferenceType refType,
|
||||
ReferenceType refTypeBase) {
|
||||
for (Iterator it = refType.fields().iterator(); it.hasNext(); ) {
|
||||
Field field = (Field)it.next();
|
||||
for (Field field : refType.fields()) {
|
||||
out.print(" ");
|
||||
if (!refType.equals(refTypeBase)) {
|
||||
out.print(refType.name() + ".");
|
||||
@ -1261,9 +1253,8 @@ public class CommandInterpreter {
|
||||
dump(out, obj, sup, refTypeBase);
|
||||
}
|
||||
} else if (refType instanceof InterfaceType) {
|
||||
List sups = ((InterfaceType)refType).superinterfaces();
|
||||
for (Iterator it = sups.iterator(); it.hasNext(); ) {
|
||||
dump(out, obj, (ReferenceType)it.next(), refTypeBase);
|
||||
for (InterfaceType sup : ((InterfaceType)refType).superinterfaces()) {
|
||||
dump(out, obj, sup, refTypeBase);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -201,11 +201,11 @@ public class JDBFileFilter extends FileFilter {
|
||||
if(description == null || isExtensionListInDescription()) {
|
||||
fullDescription = description==null ? "(" : description + " (";
|
||||
// build the description from the extension list
|
||||
Enumeration extensions = filters.keys();
|
||||
Enumeration<String> extensions = filters.keys();
|
||||
if(extensions != null) {
|
||||
fullDescription += "." + (String) extensions.nextElement();
|
||||
fullDescription += "." + extensions.nextElement();
|
||||
while (extensions.hasMoreElements()) {
|
||||
fullDescription += ", " + (String) extensions.nextElement();
|
||||
fullDescription += ", " + extensions.nextElement();
|
||||
}
|
||||
}
|
||||
fullDescription += ")";
|
||||
|
@ -131,14 +131,13 @@ class LaunchTool {
|
||||
final JPanel radioPanel = new JPanel();
|
||||
final ButtonGroup radioGroup = new ButtonGroup();
|
||||
VirtualMachineManager manager = Bootstrap.virtualMachineManager();
|
||||
List all = manager.allConnectors();
|
||||
List<Connector> all = manager.allConnectors();
|
||||
Map<ButtonModel, Connector> modelToConnector = new HashMap<ButtonModel, Connector>(all.size(), 0.5f);
|
||||
|
||||
dialog.setModal(true);
|
||||
dialog.setTitle("Select Connector Type");
|
||||
radioPanel.setLayout(new BoxLayout(radioPanel, BoxLayout.Y_AXIS));
|
||||
for (Iterator it = all.iterator(); it.hasNext(); ) {
|
||||
Connector connector = (Connector)it.next();
|
||||
for (Connector connector : all) {
|
||||
JRadioButton radio = new JRadioButton(connector.description());
|
||||
modelToConnector.put(radio.getModel(), connector);
|
||||
radioPanel.add(radio);
|
||||
@ -166,7 +165,7 @@ class LaunchTool {
|
||||
dialog.show();
|
||||
|
||||
return oked[0] ?
|
||||
(Connector)(modelToConnector.get(radioGroup.getSelection())) :
|
||||
modelToConnector.get(radioGroup.getSelection()) :
|
||||
null;
|
||||
}
|
||||
|
||||
@ -188,13 +187,12 @@ class LaunchTool {
|
||||
// guts.add(new JLabel(connector.description()));
|
||||
|
||||
final List<ArgRep> argReps = new ArrayList<ArgRep>(args.size());
|
||||
for (Iterator it = args.values().iterator(); it.hasNext(); ) {
|
||||
Object arg = it.next();
|
||||
for (Connector.Argument arg : args.values()) {
|
||||
ArgRep ar;
|
||||
if (arg instanceof Connector.BooleanArgument) {
|
||||
ar = new BooleanArgRep((Connector.BooleanArgument)arg, guts);
|
||||
} else {
|
||||
ar = new StringArgRep((Connector.Argument)arg, guts);
|
||||
ar = new StringArgRep(arg, guts);
|
||||
}
|
||||
argReps.add(ar);
|
||||
}
|
||||
@ -202,8 +200,7 @@ class LaunchTool {
|
||||
|
||||
JPanel buttonPanel = okCancel( dialog, new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
for (Iterator it = argReps.iterator(); it.hasNext(); ) {
|
||||
ArgRep ar = (ArgRep)it.next();
|
||||
for (ArgRep ar : argReps) {
|
||||
if (!ar.isSpecified()) {
|
||||
JOptionPane.showMessageDialog(dialog,
|
||||
ar.arg.label() +
|
||||
|
@ -42,7 +42,7 @@ public class SearchPath {
|
||||
dlist.add(st.nextToken());
|
||||
}
|
||||
pathString = searchPath;
|
||||
pathArray = (String[])dlist.toArray(new String[dlist.size()]);
|
||||
pathArray = dlist.toArray(new String[dlist.size()]);
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
@ -54,7 +54,7 @@ public class SearchPath {
|
||||
}
|
||||
|
||||
public String[] asArray() {
|
||||
return (String[])pathArray.clone();
|
||||
return pathArray.clone();
|
||||
}
|
||||
|
||||
public File resolve(String relativeFileName) {
|
||||
@ -89,7 +89,7 @@ public class SearchPath {
|
||||
}
|
||||
}
|
||||
}
|
||||
return (String[])s.toArray(new String[s.size()]);
|
||||
return s.toArray(new String[s.size()]);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ public class SourceManager {
|
||||
* Returns null if not available.
|
||||
*/
|
||||
public SourceModel sourceForClass(ReferenceType refType) {
|
||||
SourceModel sm = (SourceModel)classToSource.get(refType);
|
||||
SourceModel sm = classToSource.get(refType);
|
||||
if (sm != null) {
|
||||
return sm;
|
||||
}
|
||||
@ -140,10 +140,10 @@ public class SourceManager {
|
||||
*/
|
||||
//### Use hash table for this?
|
||||
public SourceModel sourceForFile(File path) {
|
||||
Iterator iter = sourceList.iterator();
|
||||
Iterator<SourceModel> iter = sourceList.iterator();
|
||||
SourceModel sm = null;
|
||||
while (iter.hasNext()) {
|
||||
SourceModel candidate = (SourceModel)iter.next();
|
||||
SourceModel candidate = iter.next();
|
||||
if (candidate.fileName().equals(path)) {
|
||||
sm = candidate;
|
||||
iter.remove(); // Will move to start of list.
|
||||
|
@ -187,22 +187,17 @@ public class SourceModel extends AbstractListModel {
|
||||
* when sourceLines is set.
|
||||
*/
|
||||
private void markClassLines(ReferenceType refType) {
|
||||
List methods = refType.methods();
|
||||
for (Iterator mit = methods.iterator(); mit.hasNext();) {
|
||||
Method meth = (Method)mit.next();
|
||||
for (Method meth : refType.methods()) {
|
||||
try {
|
||||
List lines = meth.allLineLocations();
|
||||
for (Iterator lit = lines.iterator(); lit.hasNext();) {
|
||||
Location loc = (Location)lit.next();
|
||||
for (Location loc : meth.allLineLocations()) {
|
||||
showExecutable(loc.lineNumber(), refType);
|
||||
}
|
||||
} catch (AbsentInformationException exc) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
List bps = env.getExecutionManager().eventRequestManager().breakpointRequests();
|
||||
for (Iterator it = bps.iterator(); it.hasNext();) {
|
||||
BreakpointRequest bp = (BreakpointRequest)it.next();
|
||||
for (BreakpointRequest bp :
|
||||
env.getExecutionManager().eventRequestManager().breakpointRequests()) {
|
||||
if (bp.location() != null) {
|
||||
Location loc = bp.location();
|
||||
if (loc.declaringType().equals(refType)) {
|
||||
@ -224,8 +219,8 @@ public class SourceModel extends AbstractListModel {
|
||||
} finally {
|
||||
reader.close();
|
||||
}
|
||||
for (Iterator it = classes.iterator(); it.hasNext();) {
|
||||
markClassLines((ClassType)it.next());
|
||||
for (ReferenceType refType : classes) {
|
||||
markClassLines(refType);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -139,7 +139,7 @@ public class StackTraceTool extends JPanel {
|
||||
String methName =
|
||||
meth.declaringType().name() + '.' + meth.name();
|
||||
String position = "";
|
||||
if (meth instanceof Method && ((Method)meth).isNative()) {
|
||||
if (meth.isNative()) {
|
||||
position = " (native method)";
|
||||
} else if (loc.lineNumber() != -1) {
|
||||
position = ":" + loc.lineNumber();
|
||||
|
@ -133,9 +133,7 @@ public class ThreadTreeTool extends JPanel {
|
||||
|
||||
public void sessionStart(EventObject e) {
|
||||
try {
|
||||
Iterator iter = runtime.allThreads().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadReference thread = ((ThreadReference)iter.next());
|
||||
for (ThreadReference thread : runtime.allThreads()) {
|
||||
root.addThread(thread);
|
||||
}
|
||||
} catch (VMDisconnectedException ee) {
|
||||
@ -244,16 +242,16 @@ public class ThreadTreeTool extends JPanel {
|
||||
}
|
||||
}
|
||||
|
||||
private void addThread(List threadPath, ThreadReference thread) {
|
||||
private void addThread(List<String> threadPath, ThreadReference thread) {
|
||||
int size = threadPath.size();
|
||||
if (size == 0) {
|
||||
return;
|
||||
} else if (size == 1) {
|
||||
String name = (String)threadPath.get(0);
|
||||
String name = threadPath.get(0);
|
||||
insertNode(name, thread);
|
||||
} else {
|
||||
String head = (String)threadPath.get(0);
|
||||
List tail = threadPath.subList(1, size);
|
||||
String head = threadPath.get(0);
|
||||
List<String> tail = threadPath.subList(1, size);
|
||||
ThreadTreeNode child = insertNode(head, null);
|
||||
child.addThread(tail, thread);
|
||||
}
|
||||
@ -288,17 +286,17 @@ public class ThreadTreeTool extends JPanel {
|
||||
}
|
||||
}
|
||||
|
||||
private void removeThread(List threadPath, ThreadReference thread) {
|
||||
private void removeThread(List<String> threadPath, ThreadReference thread) {
|
||||
int size = threadPath.size();
|
||||
if (size == 0) {
|
||||
return;
|
||||
} else if (size == 1) {
|
||||
String name = (String)threadPath.get(0);
|
||||
String name = threadPath.get(0);
|
||||
ThreadTreeNode child = findLeafNode(thread, name);
|
||||
treeModel.removeNodeFromParent(child);
|
||||
} else {
|
||||
String head = (String)threadPath.get(0);
|
||||
List tail = threadPath.subList(1, size);
|
||||
String head = threadPath.get(0);
|
||||
List<String> tail = threadPath.subList(1, size);
|
||||
ThreadTreeNode child = findInternalNode(head);
|
||||
child.removeThread(tail, thread);
|
||||
if (child.isThreadGroup() && child.getChildCount() < 1) {
|
||||
|
@ -34,7 +34,7 @@ import java.util.Iterator;
|
||||
|
||||
class BreakpointSpec extends EventRequestSpec {
|
||||
String methodId;
|
||||
List methodArgs;
|
||||
List<String> methodArgs;
|
||||
int lineNumber;
|
||||
|
||||
BreakpointSpec(ReferenceTypeSpec refSpec, int lineNumber) {
|
||||
@ -45,7 +45,7 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
}
|
||||
|
||||
BreakpointSpec(ReferenceTypeSpec refSpec, String methodId,
|
||||
List methodArgs) throws MalformedMemberNameException {
|
||||
List<String> methodArgs) throws MalformedMemberNameException {
|
||||
super(refSpec);
|
||||
this.methodId = methodId;
|
||||
this.methodArgs = methodArgs;
|
||||
@ -83,7 +83,7 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
return lineNumber;
|
||||
}
|
||||
|
||||
List methodArgs() {
|
||||
List<String> methodArgs() {
|
||||
return methodArgs;
|
||||
}
|
||||
|
||||
@ -146,14 +146,13 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
buffer.append('.');
|
||||
buffer.append(methodId);
|
||||
if (methodArgs != null) {
|
||||
Iterator iter = methodArgs.iterator();
|
||||
boolean first = true;
|
||||
buffer.append('(');
|
||||
while (iter.hasNext()) {
|
||||
for (String arg : methodArgs) {
|
||||
if (!first) {
|
||||
buffer.append(',');
|
||||
}
|
||||
buffer.append((String)iter.next());
|
||||
buffer.append(arg);
|
||||
first = false;
|
||||
}
|
||||
buffer.append(")");
|
||||
@ -176,12 +175,12 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
location = method.location();
|
||||
} else {
|
||||
// let AbsentInformationException be thrown
|
||||
List locs = refType.locationsOfLine(lineNumber());
|
||||
List<Location> locs = refType.locationsOfLine(lineNumber());
|
||||
if (locs.size() == 0) {
|
||||
throw new LineNotFoundException();
|
||||
}
|
||||
// TO DO: handle multiple locations
|
||||
location = (Location)locs.get(0);
|
||||
location = locs.get(0);
|
||||
if (location.method() == null) {
|
||||
throw new LineNotFoundException();
|
||||
}
|
||||
@ -202,8 +201,8 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
* and if the number of arguments in the method matches the
|
||||
* number of names passed
|
||||
*/
|
||||
private boolean compareArgTypes(Method method, List nameList) {
|
||||
List argTypeNames = method.argumentTypeNames();
|
||||
private boolean compareArgTypes(Method method, List<String> nameList) {
|
||||
List<String> argTypeNames = method.argumentTypeNames();
|
||||
|
||||
// If argument counts differ, we can stop here
|
||||
if (argTypeNames.size() != nameList.size()) {
|
||||
@ -213,8 +212,8 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
// Compare each argument type's name
|
||||
int nTypes = argTypeNames.size();
|
||||
for (int i = 0; i < nTypes; ++i) {
|
||||
String comp1 = (String)argTypeNames.get(i);
|
||||
String comp2 = (String)nameList.get(i);
|
||||
String comp1 = argTypeNames.get(i);
|
||||
String comp2 = nameList.get(i);
|
||||
if (! comp1.equals(comp2)) {
|
||||
/*
|
||||
* We have to handle varargs. EG, the
|
||||
@ -331,22 +330,17 @@ class BreakpointSpec extends EventRequestSpec {
|
||||
List<String> argTypeNames = null;
|
||||
if (methodArgs() != null) {
|
||||
argTypeNames = new ArrayList<String>(methodArgs().size());
|
||||
Iterator iter = methodArgs().iterator();
|
||||
while (iter.hasNext()) {
|
||||
String name = (String)iter.next();
|
||||
for (String name : methodArgs()) {
|
||||
name = normalizeArgTypeName(name);
|
||||
argTypeNames.add(name);
|
||||
}
|
||||
}
|
||||
|
||||
// Check each method in the class for matches
|
||||
Iterator iter = refType.methods().iterator();
|
||||
Method firstMatch = null; // first method with matching name
|
||||
Method exactMatch = null; // (only) method with same name & sig
|
||||
int matchCount = 0; // > 1 implies overload
|
||||
while (iter.hasNext()) {
|
||||
Method candidate = (Method)iter.next();
|
||||
|
||||
for (Method candidate : refType.methods()) {
|
||||
if (candidate.name().equals(methodName())) {
|
||||
matchCount++;
|
||||
|
||||
|
@ -157,16 +157,16 @@ class Commands {
|
||||
buf.append(method.name());
|
||||
buf.append("(");
|
||||
|
||||
List args = method.argumentTypeNames();
|
||||
List<String> args = method.argumentTypeNames();
|
||||
int lastParam = args.size() - 1;
|
||||
// output param types except for the last
|
||||
for (int ii = 0; ii < lastParam; ii++) {
|
||||
buf.append((String)args.get(ii));
|
||||
buf.append(args.get(ii));
|
||||
buf.append(", ");
|
||||
}
|
||||
if (lastParam >= 0) {
|
||||
// output the last param
|
||||
String lastStr = (String)args.get(lastParam);
|
||||
String lastStr = args.get(lastParam);
|
||||
if (method.isVarArgs()) {
|
||||
// lastParam is an array. Replace the [] with ...
|
||||
buf.append(lastStr.substring(0, lastStr.length() - 2));
|
||||
@ -180,12 +180,11 @@ class Commands {
|
||||
}
|
||||
|
||||
void commandConnectors(VirtualMachineManager vmm) {
|
||||
Iterator iter = vmm.allConnectors().iterator();
|
||||
if (iter.hasNext()) {
|
||||
Collection<Connector> ccs = vmm.allConnectors();
|
||||
if (ccs.isEmpty()) {
|
||||
MessageOutput.println("Connectors available");
|
||||
}
|
||||
while (iter.hasNext()) {
|
||||
Connector cc = (Connector)iter.next();
|
||||
for (Connector cc : ccs) {
|
||||
String transportName =
|
||||
cc.transport() == null ? "null" : cc.transport().name();
|
||||
MessageOutput.println();
|
||||
@ -193,10 +192,7 @@ class Commands {
|
||||
new Object [] {cc.name(), transportName});
|
||||
MessageOutput.println("Connector description", cc.description());
|
||||
|
||||
Iterator argIter = cc.defaultArguments().values().iterator();
|
||||
if (argIter.hasNext()) {
|
||||
while (argIter.hasNext()) {
|
||||
Connector.Argument aa = (Connector.Argument)argIter.next();
|
||||
for (Connector.Argument aa : cc.defaultArguments().values()) {
|
||||
MessageOutput.println();
|
||||
|
||||
boolean requiredArgument = aa.mustSpecify();
|
||||
@ -215,16 +211,12 @@ class Commands {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void commandClasses() {
|
||||
List list = Env.vm().allClasses();
|
||||
|
||||
StringBuffer classList = new StringBuffer();
|
||||
for (int i = 0 ; i < list.size() ; i++) {
|
||||
ReferenceType refType = (ReferenceType)list.get(i);
|
||||
for (ReferenceType refType : Env.vm().allClasses()) {
|
||||
classList.append(refType.name());
|
||||
classList.append("\n");
|
||||
}
|
||||
@ -232,7 +224,7 @@ class Commands {
|
||||
}
|
||||
|
||||
void commandClass(StringTokenizer t) {
|
||||
List list = Env.vm().allClasses();
|
||||
List<ReferenceType> list = Env.vm().allClasses();
|
||||
|
||||
if (!t.hasMoreTokens()) {
|
||||
MessageOutput.println("No class specified.");
|
||||
@ -265,51 +257,31 @@ class Commands {
|
||||
superclass = showAll ? superclass.superclass() : null;
|
||||
}
|
||||
|
||||
List interfaces = showAll ? clazz.allInterfaces()
|
||||
: clazz.interfaces();
|
||||
Iterator iter = interfaces.iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceType interfaze = (InterfaceType)iter.next();
|
||||
List<InterfaceType> interfaces =
|
||||
showAll ? clazz.allInterfaces() : clazz.interfaces();
|
||||
for (InterfaceType interfaze : interfaces) {
|
||||
MessageOutput.println("implements:", interfaze.name());
|
||||
}
|
||||
|
||||
List subs = clazz.subclasses();
|
||||
iter = subs.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ClassType sub = (ClassType)iter.next();
|
||||
for (ClassType sub : clazz.subclasses()) {
|
||||
MessageOutput.println("subclass:", sub.name());
|
||||
}
|
||||
List nested = clazz.nestedTypes();
|
||||
iter = nested.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType nest = (ReferenceType)iter.next();
|
||||
for (ReferenceType nest : clazz.nestedTypes()) {
|
||||
MessageOutput.println("nested:", nest.name());
|
||||
}
|
||||
} else if (type instanceof InterfaceType) {
|
||||
InterfaceType interfaze = (InterfaceType)type;
|
||||
MessageOutput.println("Interface:", interfaze.name());
|
||||
List supers = interfaze.superinterfaces();
|
||||
Iterator iter = supers.iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceType superinterface = (InterfaceType)iter.next();
|
||||
for (InterfaceType superinterface : interfaze.superinterfaces()) {
|
||||
MessageOutput.println("extends:", superinterface.name());
|
||||
}
|
||||
List subs = interfaze.subinterfaces();
|
||||
iter = subs.iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceType sub = (InterfaceType)iter.next();
|
||||
for (InterfaceType sub : interfaze.subinterfaces()) {
|
||||
MessageOutput.println("subinterface:", sub.name());
|
||||
}
|
||||
List implementors = interfaze.implementors();
|
||||
iter = implementors.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ClassType implementor = (ClassType)iter.next();
|
||||
for (ClassType implementor : interfaze.implementors()) {
|
||||
MessageOutput.println("implementor:", implementor.name());
|
||||
}
|
||||
List nested = interfaze.nestedTypes();
|
||||
iter = nested.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType nest = (ReferenceType)iter.next();
|
||||
for (ReferenceType nest : interfaze.nestedTypes()) {
|
||||
MessageOutput.println("nested:", nest.name());
|
||||
}
|
||||
} else { // array type
|
||||
@ -327,10 +299,8 @@ class Commands {
|
||||
String idClass = t.nextToken();
|
||||
ReferenceType cls = Env.getReferenceTypeFromToken(idClass);
|
||||
if (cls != null) {
|
||||
List methods = cls.allMethods();
|
||||
StringBuffer methodsList = new StringBuffer();
|
||||
for (int i = 0; i < methods.size(); i++) {
|
||||
Method method = (Method)methods.get(i);
|
||||
for (Method method : cls.allMethods()) {
|
||||
methodsList.append(method.declaringType().name());
|
||||
methodsList.append(" ");
|
||||
methodsList.append(typedName(method));
|
||||
@ -351,11 +321,10 @@ class Commands {
|
||||
String idClass = t.nextToken();
|
||||
ReferenceType cls = Env.getReferenceTypeFromToken(idClass);
|
||||
if (cls != null) {
|
||||
List fields = cls.allFields();
|
||||
List visible = cls.visibleFields();
|
||||
List<Field> fields = cls.allFields();
|
||||
List<Field> visible = cls.visibleFields();
|
||||
StringBuffer fieldsList = new StringBuffer();
|
||||
for (int i = 0; i < fields.size(); i++) {
|
||||
Field field = (Field)fields.get(i);
|
||||
for (Field field : fields) {
|
||||
String s;
|
||||
if (!visible.contains(field)) {
|
||||
s = MessageOutput.format("list field typename and name hidden",
|
||||
@ -386,7 +355,7 @@ class Commands {
|
||||
int maxIdLength = 0;
|
||||
int maxNameLength = 0;
|
||||
while (threadIter.hasNext()) {
|
||||
ThreadReference thr = (ThreadReference)threadIter.next();
|
||||
ThreadReference thr = threadIter.next();
|
||||
maxIdLength = Math.max(maxIdLength,
|
||||
Env.description(thr).length());
|
||||
maxNameLength = Math.max(maxNameLength,
|
||||
@ -395,7 +364,7 @@ class Commands {
|
||||
|
||||
threadIter = new ThreadIterator(tg);
|
||||
while (threadIter.hasNext()) {
|
||||
ThreadReference thr = (ThreadReference)threadIter.next();
|
||||
ThreadReference thr = threadIter.next();
|
||||
if (thr.threadGroup() == null) {
|
||||
continue;
|
||||
}
|
||||
@ -588,9 +557,7 @@ class Commands {
|
||||
private List<ThreadReference> allThreads(ThreadGroupReference group) {
|
||||
List<ThreadReference> list = new ArrayList<ThreadReference>();
|
||||
list.addAll(group.threads());
|
||||
Iterator iter = group.threadGroups().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadGroupReference child = (ThreadGroupReference)iter.next();
|
||||
for (ThreadGroupReference child : group.threadGroups()) {
|
||||
list.addAll(allThreads(child));
|
||||
}
|
||||
return list;
|
||||
@ -641,10 +608,7 @@ class Commands {
|
||||
* if so, it gets removed here.
|
||||
*/
|
||||
EventRequestManager mgr = Env.vm().eventRequestManager();
|
||||
List requests = mgr.stepRequests();
|
||||
Iterator iter = requests.iterator();
|
||||
while (iter.hasNext()) {
|
||||
StepRequest request = (StepRequest)iter.next();
|
||||
for (StepRequest request : mgr.stepRequests()) {
|
||||
if (request.thread().equals(thread)) {
|
||||
mgr.deleteEventRequest(request);
|
||||
break;
|
||||
@ -768,9 +732,7 @@ class Commands {
|
||||
boolean noExceptions = true;
|
||||
|
||||
// Print a listing of the catch patterns currently in place
|
||||
Iterator iter = Env.specList.eventRequestSpecs().iterator();
|
||||
while (iter.hasNext()) {
|
||||
EventRequestSpec spec = (EventRequestSpec)iter.next();
|
||||
for (EventRequestSpec spec : Env.specList.eventRequestSpecs()) {
|
||||
if (spec instanceof ExceptionSpec) {
|
||||
if (noExceptions) {
|
||||
noExceptions = false;
|
||||
@ -928,7 +890,7 @@ class Commands {
|
||||
}
|
||||
|
||||
private void dumpStack(ThreadInfo threadInfo, boolean showPC) {
|
||||
List stack = null;
|
||||
List<StackFrame> stack = null;
|
||||
try {
|
||||
stack = threadInfo.getStack();
|
||||
} catch (IncompatibleThreadStateException e) {
|
||||
@ -940,7 +902,7 @@ class Commands {
|
||||
} else {
|
||||
int nFrames = stack.size();
|
||||
for (int i = threadInfo.getCurrentFrameIndex(); i < nFrames; i++) {
|
||||
StackFrame frame = (StackFrame)stack.get(i);
|
||||
StackFrame frame = stack.get(i);
|
||||
dumpFrame (i, showPC, frame);
|
||||
}
|
||||
}
|
||||
@ -956,7 +918,7 @@ class Commands {
|
||||
|
||||
long lineNumber = loc.lineNumber();
|
||||
String methodInfo = null;
|
||||
if (meth instanceof Method && ((Method)meth).isNative()) {
|
||||
if (meth.isNative()) {
|
||||
methodInfo = MessageOutput.format("native method");
|
||||
} else if (lineNumber != -1) {
|
||||
try {
|
||||
@ -994,9 +956,7 @@ class Commands {
|
||||
} else {
|
||||
String token = t.nextToken();
|
||||
if (token.toLowerCase().equals("all")) {
|
||||
Iterator iter = ThreadInfo.threads().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadInfo threadInfo = (ThreadInfo)iter.next();
|
||||
for (ThreadInfo threadInfo : ThreadInfo.threads()) {
|
||||
MessageOutput.println("Thread:",
|
||||
threadInfo.getThread().name());
|
||||
dumpStack(threadInfo, showPC);
|
||||
@ -1051,9 +1011,7 @@ class Commands {
|
||||
boolean noBreakpoints = true;
|
||||
|
||||
// Print set breakpoints
|
||||
Iterator iter = Env.specList.eventRequestSpecs().iterator();
|
||||
while (iter.hasNext()) {
|
||||
EventRequestSpec spec = (EventRequestSpec)iter.next();
|
||||
for (EventRequestSpec spec : Env.specList.eventRequestSpecs()) {
|
||||
if (spec instanceof BreakpointSpec) {
|
||||
if (noBreakpoints) {
|
||||
noBreakpoints = false;
|
||||
@ -1075,7 +1033,7 @@ class Commands {
|
||||
|
||||
protected BreakpointSpec parseBreakpointSpec(StringTokenizer t,
|
||||
String atForm, String inForm) {
|
||||
EventRequestSpec breakpoint = null;
|
||||
BreakpointSpec breakpoint = null;
|
||||
try {
|
||||
String token = t.nextToken(":( \t\n\r");
|
||||
|
||||
@ -1149,7 +1107,7 @@ class Commands {
|
||||
printBreakpointCommandUsage(atForm, inForm);
|
||||
return null;
|
||||
}
|
||||
return (BreakpointSpec)breakpoint;
|
||||
return breakpoint;
|
||||
}
|
||||
|
||||
private void resolveNow(EventRequestSpec spec) {
|
||||
@ -1209,8 +1167,8 @@ class Commands {
|
||||
}
|
||||
}
|
||||
|
||||
private List<EventRequestSpec> parseWatchpointSpec(StringTokenizer t) {
|
||||
List<EventRequestSpec> list = new ArrayList<EventRequestSpec>();
|
||||
private List<WatchpointSpec> parseWatchpointSpec(StringTokenizer t) {
|
||||
List<WatchpointSpec> list = new ArrayList<WatchpointSpec>();
|
||||
boolean access = false;
|
||||
boolean modification = false;
|
||||
int suspendPolicy = EventRequest.SUSPEND_ALL;
|
||||
@ -1242,7 +1200,7 @@ class Commands {
|
||||
fieldName = fieldName.substring(dot+1);
|
||||
|
||||
try {
|
||||
EventRequestSpec spec;
|
||||
WatchpointSpec spec;
|
||||
if (access) {
|
||||
spec = Env.specList.createAccessWatchpoint(className,
|
||||
fieldName);
|
||||
@ -1269,9 +1227,8 @@ class Commands {
|
||||
return;
|
||||
}
|
||||
|
||||
Iterator iter = parseWatchpointSpec(t).iterator();
|
||||
while (iter.hasNext()) {
|
||||
resolveNow((WatchpointSpec)iter.next());
|
||||
for (WatchpointSpec spec : parseWatchpointSpec(t)) {
|
||||
resolveNow(spec);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1281,9 +1238,7 @@ class Commands {
|
||||
return;
|
||||
}
|
||||
|
||||
Iterator iter = parseWatchpointSpec(t).iterator();
|
||||
while (iter.hasNext()) {
|
||||
WatchpointSpec spec = (WatchpointSpec)iter.next();
|
||||
for (WatchpointSpec spec : parseWatchpointSpec(t)) {
|
||||
if (Env.specList.delete(spec)) {
|
||||
MessageOutput.println("Removed:", spec.toString());
|
||||
} else {
|
||||
@ -1482,7 +1437,7 @@ class Commands {
|
||||
lineno = n.intValue();
|
||||
} catch (java.text.ParseException jtpe) {
|
||||
// It isn't -- see if it's a method name.
|
||||
List meths = refType.methodsByName(id);
|
||||
List<Method> meths = refType.methodsByName(id);
|
||||
if (meths == null || meths.size() == 0) {
|
||||
MessageOutput.println("is not a valid line number or method name for",
|
||||
new Object [] {id, refType.name()});
|
||||
@ -1492,7 +1447,7 @@ class Commands {
|
||||
new Object [] {id, refType.name()});
|
||||
return;
|
||||
}
|
||||
loc = ((Method)meths.get(0)).location();
|
||||
loc = meths.get(0).location();
|
||||
lineno = loc.lineNumber();
|
||||
}
|
||||
}
|
||||
@ -1539,14 +1494,11 @@ class Commands {
|
||||
try {
|
||||
ReferenceType refType = Env.getReferenceTypeFromToken(idClass);
|
||||
if (refType != null) {
|
||||
List lines = null;
|
||||
List<Location> lines = null;
|
||||
if (idMethod == null) {
|
||||
lines = refType.allLineLocations();
|
||||
} else {
|
||||
List methods = refType.allMethods();
|
||||
Iterator iter = methods.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method method = (Method)iter.next();
|
||||
for (Method method : refType.allMethods()) {
|
||||
if (method.name().equals(idMethod)) {
|
||||
lines = method.allLineLocations();
|
||||
}
|
||||
@ -1555,9 +1507,7 @@ class Commands {
|
||||
MessageOutput.println("is not a valid method name", idMethod);
|
||||
}
|
||||
}
|
||||
Iterator iter = lines.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Location line = (Location)iter.next();
|
||||
for (Location line : lines) {
|
||||
MessageOutput.printDirectln(line.toString());// Special case: use printDirectln()
|
||||
}
|
||||
} else {
|
||||
@ -1620,21 +1570,19 @@ class Commands {
|
||||
MessageOutput.println("No local variables");
|
||||
return;
|
||||
}
|
||||
Map values = frame.getValues(vars);
|
||||
Map<LocalVariable, Value> values = frame.getValues(vars);
|
||||
|
||||
MessageOutput.println("Method arguments:");
|
||||
for (Iterator it = vars.iterator(); it.hasNext(); ) {
|
||||
LocalVariable var = (LocalVariable)it.next();
|
||||
for (LocalVariable var : vars) {
|
||||
if (var.isArgument()) {
|
||||
Value val = (Value)values.get(var);
|
||||
Value val = values.get(var);
|
||||
printVar(var, val);
|
||||
}
|
||||
}
|
||||
MessageOutput.println("Local variables:");
|
||||
for (Iterator it = vars.iterator(); it.hasNext(); ) {
|
||||
LocalVariable var = (LocalVariable)it.next();
|
||||
for (LocalVariable var : vars) {
|
||||
if (!var.isArgument()) {
|
||||
Value val = (Value)values.get(var);
|
||||
Value val = values.get(var);
|
||||
printVar(var, val);
|
||||
}
|
||||
}
|
||||
@ -1647,9 +1595,8 @@ class Commands {
|
||||
|
||||
private void dump(ObjectReference obj, ReferenceType refType,
|
||||
ReferenceType refTypeBase) {
|
||||
for (Iterator it = refType.fields().iterator(); it.hasNext(); ) {
|
||||
for (Field field : refType.fields()) {
|
||||
StringBuffer o = new StringBuffer();
|
||||
Field field = (Field)it.next();
|
||||
o.append(" ");
|
||||
if (!refType.equals(refTypeBase)) {
|
||||
o.append(refType.name());
|
||||
@ -1666,14 +1613,13 @@ class Commands {
|
||||
dump(obj, sup, refTypeBase);
|
||||
}
|
||||
} else if (refType instanceof InterfaceType) {
|
||||
List sups = ((InterfaceType)refType).superinterfaces();
|
||||
for (Iterator it = sups.iterator(); it.hasNext(); ) {
|
||||
dump(obj, (ReferenceType)it.next(), refTypeBase);
|
||||
for (InterfaceType sup : ((InterfaceType)refType).superinterfaces()) {
|
||||
dump(obj, sup, refTypeBase);
|
||||
}
|
||||
} else {
|
||||
/* else refType is an instanceof ArrayType */
|
||||
if (obj instanceof ArrayReference) {
|
||||
for (Iterator it = ((ArrayReference)obj).getValues().iterator();
|
||||
for (Iterator<Value> it = ((ArrayReference)obj).getValues().iterator();
|
||||
it.hasNext(); ) {
|
||||
MessageOutput.printDirect(it.next().toString());// Special case: use printDirect()
|
||||
if (it.hasNext()) {
|
||||
@ -1770,13 +1716,11 @@ class Commands {
|
||||
new Object [] {owner.name(),
|
||||
new Integer (object.entryCount())});
|
||||
}
|
||||
List waiters = object.waitingThreads();
|
||||
List<ThreadReference> waiters = object.waitingThreads();
|
||||
if (waiters.size() == 0) {
|
||||
MessageOutput.println("No waiters");
|
||||
} else {
|
||||
Iterator iter = waiters.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadReference waiter = (ThreadReference)iter.next();
|
||||
for (ThreadReference waiter : waiters) {
|
||||
MessageOutput.println("Waiting thread:", waiter.name());
|
||||
}
|
||||
}
|
||||
@ -1800,13 +1744,11 @@ class Commands {
|
||||
ThreadReference thread = threadInfo.getThread();
|
||||
try {
|
||||
MessageOutput.println("Monitor information for thread", thread.name());
|
||||
List owned = thread.ownedMonitors();
|
||||
List<ObjectReference> owned = thread.ownedMonitors();
|
||||
if (owned.size() == 0) {
|
||||
MessageOutput.println("No monitors owned");
|
||||
} else {
|
||||
Iterator iter = owned.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ObjectReference monitor = (ObjectReference)iter.next();
|
||||
for (ObjectReference monitor : owned) {
|
||||
MessageOutput.println("Owned monitor:", monitor.toString());
|
||||
}
|
||||
}
|
||||
@ -1833,9 +1775,7 @@ class Commands {
|
||||
}
|
||||
String token = t.nextToken();
|
||||
if (token.toLowerCase().equals("all")) {
|
||||
Iterator iter = ThreadInfo.threads().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadInfo threadInfo = (ThreadInfo)iter.next();
|
||||
for (ThreadInfo threadInfo : ThreadInfo.threads()) {
|
||||
printThreadLockInfo(threadInfo);
|
||||
}
|
||||
} else {
|
||||
@ -1930,14 +1870,12 @@ class Commands {
|
||||
|
||||
void commandSave(final StringTokenizer t) { // Undocumented command: useful for testing.
|
||||
if (!t.hasMoreTokens()) {
|
||||
Set keys = Env.getSaveKeys();
|
||||
Iterator iter = keys.iterator();
|
||||
if (!iter.hasNext()) {
|
||||
Set<String> keys = Env.getSaveKeys();
|
||||
if (keys.isEmpty()) {
|
||||
MessageOutput.println("No saved values");
|
||||
return;
|
||||
}
|
||||
while (iter.hasNext()) {
|
||||
String key = (String)iter.next();
|
||||
for (String key : keys) {
|
||||
Value value = Env.getSavedValue(key);
|
||||
if ((value instanceof ObjectReference) &&
|
||||
((ObjectReference)value).isCollected()) {
|
||||
@ -1976,7 +1914,7 @@ class Commands {
|
||||
// Overloading is not handled here.
|
||||
String methodName = t.nextToken();
|
||||
|
||||
List classes = Env.vm().classesByName(className);
|
||||
List<ReferenceType> classes = Env.vm().classesByName(className);
|
||||
// TO DO: handle multiple classes found
|
||||
if (classes.size() == 0) {
|
||||
if (className.indexOf('.') < 0) {
|
||||
@ -1987,17 +1925,14 @@ class Commands {
|
||||
return;
|
||||
}
|
||||
|
||||
ReferenceType rt = (ReferenceType)classes.get(0);
|
||||
ReferenceType rt = classes.get(0);
|
||||
if (!(rt instanceof ClassType)) {
|
||||
MessageOutput.println("not a class", className);
|
||||
return;
|
||||
}
|
||||
|
||||
byte[] bytecodes = null;
|
||||
List list = rt.methodsByName(methodName);
|
||||
Iterator iter = list.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method method = (Method)iter.next();
|
||||
for (Method method : rt.methodsByName(methodName)) {
|
||||
if (!method.isAbstract()) {
|
||||
bytecodes = method.bytecodes();
|
||||
break;
|
||||
@ -2047,7 +1982,7 @@ class Commands {
|
||||
MessageOutput.println("Specify classes to redefine");
|
||||
} else {
|
||||
String className = t.nextToken();
|
||||
List classes = Env.vm().classesByName(className);
|
||||
List<ReferenceType> classes = Env.vm().classesByName(className);
|
||||
if (classes.size() == 0) {
|
||||
MessageOutput.println("No class named", className);
|
||||
return;
|
||||
@ -2057,7 +1992,7 @@ class Commands {
|
||||
return;
|
||||
}
|
||||
Env.setSourcePath(Env.getSourcePath());
|
||||
ReferenceType refType = (ReferenceType)classes.get(0);
|
||||
ReferenceType refType = classes.get(0);
|
||||
if (!t.hasMoreTokens()) {
|
||||
MessageOutput.println("Specify file name for class", className);
|
||||
return;
|
||||
@ -2074,7 +2009,8 @@ class Commands {
|
||||
new Object [] {fileName, exc.toString()});
|
||||
return;
|
||||
}
|
||||
Map<ReferenceType, byte[]> map = new HashMap<ReferenceType, byte[]>();
|
||||
Map<ReferenceType, byte[]> map
|
||||
= new HashMap<ReferenceType, byte[]>();
|
||||
map.put(refType, bytes);
|
||||
try {
|
||||
Env.vm().redefineClasses(map);
|
||||
|
@ -89,7 +89,7 @@ class Env {
|
||||
sourceCache.clear();
|
||||
}
|
||||
|
||||
static void setSourcePath(List srcList) {
|
||||
static void setSourcePath(List<String> srcList) {
|
||||
sourceMapper = new SourceMapper(srcList);
|
||||
sourceCache.clear();
|
||||
}
|
||||
@ -106,10 +106,8 @@ class Env {
|
||||
}
|
||||
|
||||
static String excludesString() {
|
||||
Iterator iter = excludes().iterator();
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
while (iter.hasNext()) {
|
||||
String pattern = (String)iter.next();
|
||||
for (String pattern : excludes()) {
|
||||
buffer.append(pattern);
|
||||
buffer.append(",");
|
||||
}
|
||||
@ -117,25 +115,19 @@ class Env {
|
||||
}
|
||||
|
||||
static void addExcludes(StepRequest request) {
|
||||
Iterator iter = excludes().iterator();
|
||||
while (iter.hasNext()) {
|
||||
String pattern = (String)iter.next();
|
||||
for (String pattern : excludes()) {
|
||||
request.addClassExclusionFilter(pattern);
|
||||
}
|
||||
}
|
||||
|
||||
static void addExcludes(MethodEntryRequest request) {
|
||||
Iterator iter = excludes().iterator();
|
||||
while (iter.hasNext()) {
|
||||
String pattern = (String)iter.next();
|
||||
for (String pattern : excludes()) {
|
||||
request.addClassExclusionFilter(pattern);
|
||||
}
|
||||
}
|
||||
|
||||
static void addExcludes(MethodExitRequest request) {
|
||||
Iterator iter = excludes().iterator();
|
||||
while (iter.hasNext()) {
|
||||
String pattern = (String)iter.next();
|
||||
for (String pattern : excludes()) {
|
||||
request.addClassExclusionFilter(pattern);
|
||||
}
|
||||
}
|
||||
@ -175,10 +167,10 @@ class Env {
|
||||
try {
|
||||
String fileName = location.sourceName();
|
||||
|
||||
Iterator iter = sourceCache.iterator();
|
||||
Iterator<SourceCode> iter = sourceCache.iterator();
|
||||
SourceCode code = null;
|
||||
while (iter.hasNext()) {
|
||||
SourceCode candidate = (SourceCode)iter.next();
|
||||
SourceCode candidate = iter.next();
|
||||
if (candidate.fileName().equals(fileName)) {
|
||||
code = candidate;
|
||||
iter.remove();
|
||||
@ -269,10 +261,7 @@ class Env {
|
||||
// loaded class whose name matches this limited regular
|
||||
// expression is selected.
|
||||
idToken = idToken.substring(1);
|
||||
List classes = Env.vm().allClasses();
|
||||
Iterator iter = classes.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType type = ((ReferenceType)iter.next());
|
||||
for (ReferenceType type : Env.vm().allClasses()) {
|
||||
if (type.name().endsWith(idToken)) {
|
||||
cls = type;
|
||||
break;
|
||||
@ -280,21 +269,21 @@ class Env {
|
||||
}
|
||||
} else {
|
||||
// It's a class name
|
||||
List classes = Env.vm().classesByName(idToken);
|
||||
List<ReferenceType> classes = Env.vm().classesByName(idToken);
|
||||
if (classes.size() > 0) {
|
||||
// TO DO: handle multiples
|
||||
cls = (ReferenceType)classes.get(0);
|
||||
cls = classes.get(0);
|
||||
}
|
||||
}
|
||||
return cls;
|
||||
}
|
||||
|
||||
static Set getSaveKeys() {
|
||||
static Set<String> getSaveKeys() {
|
||||
return savedValues.keySet();
|
||||
}
|
||||
|
||||
static Value getSavedValue(String key) {
|
||||
return (Value)savedValues.get(key);
|
||||
return savedValues.get(key);
|
||||
}
|
||||
|
||||
static void setSavedValue(String key, Value value) {
|
||||
@ -327,7 +316,7 @@ class Env {
|
||||
if (index >= sourceLines.size()) {
|
||||
return null;
|
||||
} else {
|
||||
return (String)sourceLines.get(index);
|
||||
return sourceLines.get(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ public class EventHandler implements Runnable {
|
||||
EventSet eventSet = queue.remove();
|
||||
EventIterator iter = eventSet.eventIterator();
|
||||
while (iter.hasNext()) {
|
||||
handleExitEvent((Event)iter.next());
|
||||
handleExitEvent(iter.next());
|
||||
}
|
||||
} catch (InterruptedException exc) {
|
||||
// ignore
|
||||
@ -183,7 +183,7 @@ public class EventHandler implements Runnable {
|
||||
* If any event in the set has a thread associated with it,
|
||||
* they all will, so just grab the first one.
|
||||
*/
|
||||
Event event = (Event)set.iterator().next(); // Is there a better way?
|
||||
Event event = set.iterator().next(); // Is there a better way?
|
||||
thread = eventThread(event);
|
||||
} else {
|
||||
thread = null;
|
||||
|
@ -101,10 +101,8 @@ abstract class EventRequestSpec {
|
||||
* so that is all we need to examine.
|
||||
*/
|
||||
ArrayList<ExceptionRequest> deleteList = new ArrayList<ExceptionRequest>();
|
||||
Iterator iter =
|
||||
Env.vm().eventRequestManager().exceptionRequests().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ExceptionRequest er = (ExceptionRequest)iter.next();
|
||||
for (ExceptionRequest er :
|
||||
Env.vm().eventRequestManager().exceptionRequests()) {
|
||||
if (prs.matches(er.exception())) {
|
||||
deleteList.add (er);
|
||||
}
|
||||
@ -115,9 +113,7 @@ abstract class EventRequestSpec {
|
||||
}
|
||||
|
||||
private EventRequest resolveAgainstPreparedClasses() throws Exception {
|
||||
Iterator iter = Env.vm().allClasses().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType refType = (ReferenceType)iter.next();
|
||||
for (ReferenceType refType : Env.vm().allClasses()) {
|
||||
if (refType.isPrepared() && refSpec.matches(refType)) {
|
||||
resolved = resolveEventRequest(refType);
|
||||
}
|
||||
|
@ -55,9 +55,7 @@ class EventRequestSpecList {
|
||||
boolean resolve(ClassPrepareEvent event) {
|
||||
boolean failure = false;
|
||||
synchronized(eventRequestSpecs) {
|
||||
Iterator iter = eventRequestSpecs.iterator();
|
||||
while (iter.hasNext()) {
|
||||
EventRequestSpec spec = (EventRequestSpec)iter.next();
|
||||
for (EventRequestSpec spec : eventRequestSpecs) {
|
||||
if (!spec.isResolved()) {
|
||||
try {
|
||||
EventRequest eventRequest = spec.resolve(event);
|
||||
@ -77,9 +75,7 @@ class EventRequestSpecList {
|
||||
}
|
||||
|
||||
void resolveAll() {
|
||||
Iterator iter = eventRequestSpecs.iterator();
|
||||
while (iter.hasNext()) {
|
||||
EventRequestSpec spec = (EventRequestSpec)iter.next();
|
||||
for (EventRequestSpec spec : eventRequestSpecs) {
|
||||
try {
|
||||
EventRequest eventRequest = spec.resolveEagerly();
|
||||
if (eventRequest != null) {
|
||||
@ -106,16 +102,16 @@ class EventRequestSpecList {
|
||||
}
|
||||
}
|
||||
|
||||
EventRequestSpec createBreakpoint(String classPattern,
|
||||
int line) throws ClassNotFoundException {
|
||||
BreakpointSpec createBreakpoint(String classPattern, int line)
|
||||
throws ClassNotFoundException {
|
||||
ReferenceTypeSpec refSpec =
|
||||
new PatternReferenceTypeSpec(classPattern);
|
||||
return new BreakpointSpec(refSpec, line);
|
||||
}
|
||||
|
||||
EventRequestSpec createBreakpoint(String classPattern,
|
||||
BreakpointSpec createBreakpoint(String classPattern,
|
||||
String methodId,
|
||||
List methodArgs)
|
||||
List<String> methodArgs)
|
||||
throws MalformedMemberNameException,
|
||||
ClassNotFoundException {
|
||||
ReferenceTypeSpec refSpec =
|
||||
@ -132,7 +128,7 @@ class EventRequestSpecList {
|
||||
return new ExceptionSpec(refSpec, notifyCaught, notifyUncaught);
|
||||
}
|
||||
|
||||
EventRequestSpec createAccessWatchpoint(String classPattern,
|
||||
WatchpointSpec createAccessWatchpoint(String classPattern,
|
||||
String fieldId)
|
||||
throws MalformedMemberNameException,
|
||||
ClassNotFoundException {
|
||||
@ -141,7 +137,7 @@ class EventRequestSpecList {
|
||||
return new AccessWatchpointSpec(refSpec, fieldId);
|
||||
}
|
||||
|
||||
EventRequestSpec createModificationWatchpoint(String classPattern,
|
||||
WatchpointSpec createModificationWatchpoint(String classPattern,
|
||||
String fieldId)
|
||||
throws MalformedMemberNameException,
|
||||
ClassNotFoundException {
|
||||
@ -154,7 +150,7 @@ class EventRequestSpecList {
|
||||
synchronized (eventRequestSpecs) {
|
||||
int inx = eventRequestSpecs.indexOf(proto);
|
||||
if (inx != -1) {
|
||||
EventRequestSpec spec = (EventRequestSpec)eventRequestSpecs.get(inx);
|
||||
EventRequestSpec spec = eventRequestSpecs.get(inx);
|
||||
spec.remove();
|
||||
eventRequestSpecs.remove(inx);
|
||||
return true;
|
||||
|
@ -39,15 +39,13 @@ class SourceMapper {
|
||||
|
||||
private final String[] dirs;
|
||||
|
||||
SourceMapper(List sourcepath) {
|
||||
SourceMapper(List<String> sourcepath) {
|
||||
/*
|
||||
* sourcepath can arrive from the debugee as a List.
|
||||
* (via PathSearchingVirtualMachine.classPath())
|
||||
*/
|
||||
List<String> dirList = new ArrayList<String>();
|
||||
Iterator iter = sourcepath.iterator();
|
||||
while (iter.hasNext()) {
|
||||
String element = (String)iter.next();
|
||||
for (String element : sourcepath) {
|
||||
//XXX remove .jar and .zip files; we want only directories on
|
||||
//the source path. (Bug ID 4186582)
|
||||
if ( ! (element.endsWith(".jar") ||
|
||||
@ -55,7 +53,7 @@ class SourceMapper {
|
||||
dirList.add(element);
|
||||
}
|
||||
}
|
||||
dirs = (String[])dirList.toArray(new String[0]);
|
||||
dirs = dirList.toArray(new String[0]);
|
||||
}
|
||||
|
||||
SourceMapper(String sourcepath) {
|
||||
@ -79,7 +77,7 @@ class SourceMapper {
|
||||
dirList.add(s);
|
||||
}
|
||||
}
|
||||
dirs = (String[])dirList.toArray(new String[0]);
|
||||
dirs = dirList.toArray(new String[0]);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -160,9 +160,7 @@ public class TTY implements EventNotifier {
|
||||
// here the next time.
|
||||
Env.setAtExitMethod(null);
|
||||
EventRequestManager erm = Env.vm().eventRequestManager();
|
||||
Iterator it = erm.methodExitRequests().iterator();
|
||||
while (it.hasNext()) {
|
||||
EventRequest eReq = (EventRequest)it.next();
|
||||
for (EventRequest eReq : erm.methodExitRequests()) {
|
||||
if (eReq.equals(me.request())) {
|
||||
eReq.disable();
|
||||
}
|
||||
@ -178,9 +176,8 @@ public class TTY implements EventNotifier {
|
||||
public void vmInterrupted() {
|
||||
Thread.yield(); // fetch output
|
||||
printCurrentLocation();
|
||||
Iterator it = monitorCommands.iterator();
|
||||
while (it.hasNext()) {
|
||||
StringTokenizer t = new StringTokenizer((String)it.next());
|
||||
for (String cmd : monitorCommands) {
|
||||
StringTokenizer t = new StringTokenizer(cmd);
|
||||
t.nextToken(); // get rid of monitor number
|
||||
executeCommand(t);
|
||||
}
|
||||
@ -563,9 +560,8 @@ public class TTY implements EventNotifier {
|
||||
++monitorCount;
|
||||
monitorCommands.add(monitorCount + ": " + t.nextToken(""));
|
||||
} else {
|
||||
Iterator it = monitorCommands.iterator();
|
||||
while (it.hasNext()) {
|
||||
MessageOutput.printDirectln((String)it.next());// Special case: use printDirectln()
|
||||
for (String cmd : monitorCommands) {
|
||||
MessageOutput.printDirectln(cmd);// Special case: use printDirectln()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -581,9 +577,7 @@ public class TTY implements EventNotifier {
|
||||
return;
|
||||
}
|
||||
String monStr = monTok + ":";
|
||||
Iterator it = monitorCommands.iterator();
|
||||
while (it.hasNext()) {
|
||||
String cmd = (String)it.next();
|
||||
for (String cmd : monitorCommands) {
|
||||
StringTokenizer ct = new StringTokenizer(cmd);
|
||||
if (ct.nextToken().equals(monStr)) {
|
||||
monitorCommands.remove(cmd);
|
||||
@ -768,10 +762,8 @@ public class TTY implements EventNotifier {
|
||||
}
|
||||
|
||||
private static boolean supportsSharedMemory() {
|
||||
List connectors = Bootstrap.virtualMachineManager().allConnectors();
|
||||
Iterator iter = connectors.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Connector connector = (Connector)iter.next();
|
||||
for (Connector connector :
|
||||
Bootstrap.virtualMachineManager().allConnectors()) {
|
||||
if (connector.transport() == null) {
|
||||
continue;
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ import java.util.Iterator;
|
||||
* Descend the tree of thread groups.
|
||||
* @author Robert G. Field
|
||||
*/
|
||||
class ThreadGroupIterator implements Iterator {
|
||||
class ThreadGroupIterator implements Iterator<ThreadGroupReference> {
|
||||
private final Stack<Iterator<ThreadGroupReference>> stack = new Stack<Iterator<ThreadGroupReference>>();
|
||||
|
||||
ThreadGroupIterator(List<ThreadGroupReference> tgl) {
|
||||
@ -53,8 +53,8 @@ class ThreadGroupIterator implements Iterator {
|
||||
this(Env.vm().topLevelThreadGroups());
|
||||
}
|
||||
|
||||
private Iterator top() {
|
||||
return (Iterator)stack.peek();
|
||||
private Iterator<ThreadGroupReference> top() {
|
||||
return stack.peek();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -74,12 +74,12 @@ class ThreadGroupIterator implements Iterator {
|
||||
return !stack.isEmpty();
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
public ThreadGroupReference next() {
|
||||
return nextThreadGroup();
|
||||
}
|
||||
|
||||
public ThreadGroupReference nextThreadGroup() {
|
||||
ThreadGroupReference tg = (ThreadGroupReference)top().next();
|
||||
ThreadGroupReference tg = top().next();
|
||||
push(tg.threadGroups());
|
||||
return tg;
|
||||
}
|
||||
|
@ -56,9 +56,7 @@ class ThreadInfo {
|
||||
|
||||
private static void initThreads() {
|
||||
if (!gotInitialThreads) {
|
||||
Iterator iter = Env.vm().allThreads().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadReference thread = (ThreadReference)iter.next();
|
||||
for (ThreadReference thread : Env.vm().allThreads()) {
|
||||
threads.add(new ThreadInfo(thread));
|
||||
}
|
||||
gotInitialThreads = true;
|
||||
@ -113,9 +111,7 @@ class ThreadInfo {
|
||||
current = null;
|
||||
group = null;
|
||||
synchronized (threads) {
|
||||
Iterator iter = threads().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadInfo ti = (ThreadInfo)iter.next();
|
||||
for (ThreadInfo ti : threads()) {
|
||||
ti.invalidate();
|
||||
}
|
||||
}
|
||||
@ -163,8 +159,7 @@ class ThreadInfo {
|
||||
if (group == null) {
|
||||
// Current thread group defaults to the first top level
|
||||
// thread group.
|
||||
setThreadGroup((ThreadGroupReference)
|
||||
Env.vm().topLevelThreadGroups().get(0));
|
||||
setThreadGroup(Env.vm().topLevelThreadGroups().get(0));
|
||||
}
|
||||
return group;
|
||||
}
|
||||
@ -173,9 +168,7 @@ class ThreadInfo {
|
||||
ThreadInfo retInfo = null;
|
||||
|
||||
synchronized (threads) {
|
||||
Iterator iter = threads().iterator();
|
||||
while (iter.hasNext()) {
|
||||
ThreadInfo ti = (ThreadInfo)iter.next();
|
||||
for (ThreadInfo ti : threads()) {
|
||||
if (ti.thread.uniqueID() == id) {
|
||||
retInfo = ti;
|
||||
break;
|
||||
@ -208,7 +201,7 @@ class ThreadInfo {
|
||||
*
|
||||
* @return a <code>List</code> of the stack frames.
|
||||
*/
|
||||
List getStack() throws IncompatibleThreadStateException {
|
||||
List<StackFrame> getStack() throws IncompatibleThreadStateException {
|
||||
return thread.frames();
|
||||
}
|
||||
|
||||
|
@ -30,8 +30,8 @@ import com.sun.jdi.ThreadReference;
|
||||
import java.util.List;
|
||||
import java.util.Iterator;
|
||||
|
||||
class ThreadIterator implements Iterator {
|
||||
Iterator it = null;
|
||||
class ThreadIterator implements Iterator<ThreadReference> {
|
||||
Iterator<ThreadReference> it = null;
|
||||
ThreadGroupIterator tgi;
|
||||
|
||||
ThreadIterator(ThreadGroupReference tg) {
|
||||
@ -56,12 +56,12 @@ class ThreadIterator implements Iterator {
|
||||
return true;
|
||||
}
|
||||
|
||||
public Object next() {
|
||||
public ThreadReference next() {
|
||||
return it.next();
|
||||
}
|
||||
|
||||
public ThreadReference nextThread() {
|
||||
return (ThreadReference)next();
|
||||
return next();
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
|
@ -61,10 +61,8 @@ class VMConnection {
|
||||
}
|
||||
|
||||
private Connector findConnector(String name) {
|
||||
List connectors = Bootstrap.virtualMachineManager().allConnectors();
|
||||
Iterator iter = connectors.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Connector connector = (Connector)iter.next();
|
||||
for (Connector connector :
|
||||
Bootstrap.virtualMachineManager().allConnectors()) {
|
||||
if (connector.name().equals(name)) {
|
||||
return connector;
|
||||
}
|
||||
@ -108,7 +106,7 @@ class VMConnection {
|
||||
String value = token.substring(index + 1,
|
||||
token.length() - 1); // Remove comma delimiter
|
||||
|
||||
Connector.Argument argument = (Connector.Argument)arguments.get(name);
|
||||
Connector.Argument argument = arguments.get(name);
|
||||
if (argument == null) {
|
||||
throw new IllegalArgumentException
|
||||
(MessageOutput.format("Argument is not defined for connector:",
|
||||
@ -195,7 +193,7 @@ class VMConnection {
|
||||
return false;
|
||||
}
|
||||
|
||||
Connector.Argument argument = (Connector.Argument)connectorArgs.get(name);
|
||||
Connector.Argument argument = connectorArgs.get(name);
|
||||
if (argument == null) {
|
||||
return false;
|
||||
}
|
||||
@ -204,7 +202,7 @@ class VMConnection {
|
||||
}
|
||||
|
||||
String connectorArg(String name) {
|
||||
Connector.Argument argument = (Connector.Argument)connectorArgs.get(name);
|
||||
Connector.Argument argument = connectorArgs.get(name);
|
||||
if (argument == null) {
|
||||
return "";
|
||||
}
|
||||
|
@ -99,8 +99,7 @@ class ClassQuery extends QueryHandler {
|
||||
}
|
||||
|
||||
out.println("<h2>Instance Data Members:</h2>");
|
||||
JavaField[] ff = clazz.getFields();
|
||||
ff = (JavaField[]) ff.clone();
|
||||
JavaField[] ff = clazz.getFields().clone();
|
||||
ArraySorter.sort(ff, new Comparer() {
|
||||
public int compare(Object lhs, Object rhs) {
|
||||
JavaField left = (JavaField) lhs;
|
||||
|
@ -90,9 +90,7 @@ public class PlatformClasses {
|
||||
// is the right thing to do anyway.
|
||||
}
|
||||
}
|
||||
int num = list.size();
|
||||
names = new String[num];
|
||||
names = (String[]) list.toArray(names);
|
||||
names = list.toArray(new String[list.size()]);
|
||||
}
|
||||
return names;
|
||||
}
|
||||
|
@ -119,7 +119,7 @@ abstract class AbstractLauncher extends ConnectorImpl implements LaunchingConnec
|
||||
|
||||
String[] tokenArray = new String[tokenList.size()];
|
||||
for (int i = 0; i < tokenList.size(); i++) {
|
||||
tokenArray[i] = (String)tokenList.get(i);
|
||||
tokenArray[i] = tokenList.get(i);
|
||||
}
|
||||
return tokenArray;
|
||||
}
|
||||
|
@ -95,11 +95,8 @@ public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
}
|
||||
|
||||
public List<ClassType> subclasses() {
|
||||
List<ReferenceType> all = vm.allClasses();
|
||||
List<ClassType> subs = new ArrayList<ClassType>();
|
||||
Iterator iter = all.iterator();
|
||||
while (iter.hasNext()) {
|
||||
ReferenceType refType = (ReferenceType)iter.next();
|
||||
for (ReferenceType refType : vm.allClasses()) {
|
||||
if (refType instanceof ClassType) {
|
||||
ClassType clazz = (ClassType)refType;
|
||||
ClassType superclass = clazz.superclass();
|
||||
@ -223,7 +220,7 @@ public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
|
||||
List<? extends Value> arguments = method.validateAndPrepareArgumentsForInvoke(origArguments);
|
||||
|
||||
ValueImpl[] args = (ValueImpl[])arguments.toArray(new ValueImpl[0]);
|
||||
ValueImpl[] args = arguments.toArray(new ValueImpl[0]);
|
||||
JDWP.ClassType.InvokeMethod ret;
|
||||
try {
|
||||
PacketStream stream =
|
||||
@ -271,7 +268,7 @@ public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
|
||||
List<Value> arguments = method.validateAndPrepareArgumentsForInvoke(
|
||||
origArguments);
|
||||
ValueImpl[] args = (ValueImpl[])arguments.toArray(new ValueImpl[0]);
|
||||
ValueImpl[] args = arguments.toArray(new ValueImpl[0]);
|
||||
JDWP.ClassType.NewInstance ret = null;
|
||||
try {
|
||||
PacketStream stream =
|
||||
@ -301,11 +298,8 @@ public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
}
|
||||
|
||||
public Method concreteMethodByName(String name, String signature) {
|
||||
List methods = visibleMethods();
|
||||
Method method = null;
|
||||
Iterator iter = methods.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method candidate = (Method)iter.next();
|
||||
for (Method candidate : visibleMethods()) {
|
||||
if (candidate.name().equals(name) &&
|
||||
candidate.signature().equals(signature) &&
|
||||
!candidate.isAbstract()) {
|
||||
@ -330,9 +324,7 @@ public class ClassTypeImpl extends ReferenceTypeImpl
|
||||
* Avoid duplicate checking on each method by iterating through
|
||||
* duplicate-free allInterfaces() rather than recursing
|
||||
*/
|
||||
Iterator iter = allInterfaces().iterator();
|
||||
while (iter.hasNext()) {
|
||||
InterfaceType interfaze = (InterfaceType)iter.next();
|
||||
for (InterfaceType interfaze : allInterfaces()) {
|
||||
list.addAll(interfaze.methods());
|
||||
}
|
||||
|
||||
|
@ -247,7 +247,7 @@ public class ConcreteMethodImpl extends MethodImpl {
|
||||
|
||||
public byte[] bytecodes() {
|
||||
byte[] bytecodes = (bytecodesRef == null) ? null :
|
||||
(byte[])bytecodesRef.get();
|
||||
bytecodesRef.get();
|
||||
if (bytecodes == null) {
|
||||
try {
|
||||
bytecodes = JDWP.Method.Bytecodes.
|
||||
@ -262,7 +262,7 @@ public class ConcreteMethodImpl extends MethodImpl {
|
||||
* to return the cached bytecodes directly; instead, we
|
||||
* make a clone at the cost of using more memory.
|
||||
*/
|
||||
return (byte[])bytecodes.clone();
|
||||
return bytecodes.clone();
|
||||
}
|
||||
|
||||
int argSlotCount() throws AbsentInformationException {
|
||||
@ -279,7 +279,7 @@ public class ConcreteMethodImpl extends MethodImpl {
|
||||
String stratumID = stratum.id();
|
||||
SoftLocationXRefs info =
|
||||
(softOtherLocationXRefsRef == null) ? null :
|
||||
(SoftLocationXRefs)softOtherLocationXRefsRef.get();
|
||||
softOtherLocationXRefsRef.get();
|
||||
if (info != null && info.stratumID.equals(stratumID)) {
|
||||
return info;
|
||||
}
|
||||
@ -348,7 +348,7 @@ public class ConcreteMethodImpl extends MethodImpl {
|
||||
|
||||
private SoftLocationXRefs getBaseLocations() {
|
||||
SoftLocationXRefs info = (softBaseLocationXRefsRef == null) ? null :
|
||||
(SoftLocationXRefs)softBaseLocationXRefsRef.get();
|
||||
softBaseLocationXRefsRef.get();
|
||||
if (info != null) {
|
||||
return info;
|
||||
}
|
||||
|
@ -56,10 +56,8 @@ public class EventSetImpl extends ArrayList<Event> implements EventSet {
|
||||
public String toString() {
|
||||
String string = "event set, policy:" + suspendPolicy +
|
||||
", count:" + this.size() + " = {";
|
||||
Iterator iter = this.iterator();
|
||||
boolean first = true;
|
||||
while (iter.hasNext()) {
|
||||
Event event = (Event)iter.next();
|
||||
for (Event event : this) {
|
||||
if (!first) {
|
||||
string += ", ";
|
||||
}
|
||||
@ -787,9 +785,7 @@ public class EventSetImpl extends ArrayList<Event> implements EventSet {
|
||||
}
|
||||
|
||||
private ThreadReference eventThread() {
|
||||
Iterator iter = this.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Event event = (Event)iter.next();
|
||||
for (Event event : this) {
|
||||
if (event instanceof ThreadedEventImpl) {
|
||||
return ((ThreadedEventImpl)event).thread();
|
||||
}
|
||||
@ -846,7 +842,7 @@ public class EventSetImpl extends ArrayList<Event> implements EventSet {
|
||||
}
|
||||
|
||||
public Event nextEvent() {
|
||||
return (Event)next();
|
||||
return next();
|
||||
}
|
||||
|
||||
public void remove() {
|
||||
|
@ -82,7 +82,7 @@ public class JNITypeParser {
|
||||
}
|
||||
|
||||
String typeName() {
|
||||
return (String)typeNameList().get(typeNameList().size()-1);
|
||||
return typeNameList().get(typeNameList().size()-1);
|
||||
}
|
||||
|
||||
List<String> argumentTypeNames() {
|
||||
@ -90,7 +90,7 @@ public class JNITypeParser {
|
||||
}
|
||||
|
||||
String signature() {
|
||||
return (String)signatureList().get(signatureList().size()-1);
|
||||
return signatureList().get(signatureList().size()-1);
|
||||
}
|
||||
|
||||
List<String> argumentSignatures() {
|
||||
|
@ -158,7 +158,7 @@ public abstract class MethodImpl extends TypeComponentImpl
|
||||
|
||||
Type argumentType(int index) throws ClassNotLoadedException {
|
||||
ReferenceTypeImpl enclosing = (ReferenceTypeImpl)declaringType();
|
||||
String signature = (String)argumentSignatures().get(index);
|
||||
String signature = argumentSignatures().get(index);
|
||||
return enclosing.findType(signature);
|
||||
}
|
||||
|
||||
@ -263,10 +263,10 @@ public abstract class MethodImpl extends TypeComponentImpl
|
||||
return argumentType(index);
|
||||
}
|
||||
public String typeName(){
|
||||
return (String)argumentTypeNames().get(index);
|
||||
return argumentTypeNames().get(index);
|
||||
}
|
||||
public String signature() {
|
||||
return (String)argumentSignatures().get(index);
|
||||
return argumentSignatures().get(index);
|
||||
}
|
||||
public Type findType(String signature) throws ClassNotLoadedException {
|
||||
return MethodImpl.this.findType(signature);
|
||||
@ -307,7 +307,7 @@ public abstract class MethodImpl extends TypeComponentImpl
|
||||
arguments.add(argArray);
|
||||
return;
|
||||
}
|
||||
Value nthArgValue = (Value)arguments.get(paramCount - 1);
|
||||
Value nthArgValue = arguments.get(paramCount - 1);
|
||||
if (nthArgValue == null) {
|
||||
return;
|
||||
}
|
||||
@ -371,7 +371,7 @@ public abstract class MethodImpl extends TypeComponentImpl
|
||||
}
|
||||
|
||||
for (int i = 0; i < argSize; i++) {
|
||||
Value value = (Value)arguments.get(i);
|
||||
Value value = arguments.get(i);
|
||||
value = ValueImpl.prepareForAssignment(value,
|
||||
new ArgumentContainer(i));
|
||||
arguments.set(i, value);
|
||||
@ -386,11 +386,11 @@ public abstract class MethodImpl extends TypeComponentImpl
|
||||
sb.append(name());
|
||||
sb.append("(");
|
||||
boolean first = true;
|
||||
for (Iterator it = argumentTypeNames().iterator(); it.hasNext();) {
|
||||
for (String name : argumentTypeNames()) {
|
||||
if (!first) {
|
||||
sb.append(", ");
|
||||
}
|
||||
sb.append((String)it.next());
|
||||
sb.append(name);
|
||||
first = false;
|
||||
}
|
||||
sb.append(")");
|
||||
|
@ -383,7 +383,7 @@ public class ObjectReferenceImpl extends ValueImpl
|
||||
List<Value> arguments = method.validateAndPrepareArgumentsForInvoke(
|
||||
origArguments);
|
||||
|
||||
ValueImpl[] args = (ValueImpl[])arguments.toArray(new ValueImpl[0]);
|
||||
ValueImpl[] args = arguments.toArray(new ValueImpl[0]);
|
||||
JDWP.ObjectReference.InvokeMethod ret;
|
||||
try {
|
||||
PacketStream stream =
|
||||
@ -583,7 +583,7 @@ public class ObjectReferenceImpl extends ValueImpl
|
||||
// Validate assignment
|
||||
ReferenceType destType = (ReferenceTypeImpl)destination.type();
|
||||
ReferenceTypeImpl myType = (ReferenceTypeImpl)referenceType();
|
||||
if (!myType.isAssignableTo((ReferenceType)destType)) {
|
||||
if (!myType.isAssignableTo(destType)) {
|
||||
JNITypeParser parser = new JNITypeParser(destType.signature());
|
||||
String destTypeName = parser.typeName();
|
||||
throw new InvalidTypeException("Can't assign " +
|
||||
|
@ -485,7 +485,7 @@ class PacketStream {
|
||||
* Read field represented as vm specific byte sequence.
|
||||
*/
|
||||
Field readField() {
|
||||
ReferenceTypeImpl refType = (ReferenceTypeImpl)readReferenceType();
|
||||
ReferenceTypeImpl refType = readReferenceType();
|
||||
long fieldRef = readFieldRef();
|
||||
return refType.getFieldMirror(fieldRef);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ implements ReferenceType {
|
||||
private boolean constantPoolInfoGotten = false;
|
||||
private int constanPoolCount;
|
||||
private byte[] constantPoolBytes;
|
||||
private SoftReference constantPoolBytesRef = null;
|
||||
private SoftReference<byte[]> constantPoolBytesRef = null;
|
||||
|
||||
/* to mark a SourceFile request that returned a genuine JDWP.Error.ABSENT_INFORMATION */
|
||||
private static final String ABSENT_BASE_SOURCE_NAME = "**ABSENT_BASE_SOURCE_NAME**";
|
||||
@ -352,13 +352,10 @@ implements ReferenceType {
|
||||
abstract List<? extends ReferenceType> inheritedTypes();
|
||||
|
||||
void addVisibleFields(List<Field> visibleList, Map<String, Field> visibleTable, List<String> ambiguousNames) {
|
||||
List<Field> list = visibleFields();
|
||||
Iterator iter = list.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Field field = (Field)iter.next();
|
||||
for (Field field : visibleFields()) {
|
||||
String name = field.name();
|
||||
if (!ambiguousNames.contains(name)) {
|
||||
Field duplicate = (Field)visibleTable.get(name);
|
||||
Field duplicate = visibleTable.get(name);
|
||||
if (duplicate == null) {
|
||||
visibleList.add(field);
|
||||
visibleTable.put(name, field);
|
||||
@ -402,10 +399,8 @@ implements ReferenceType {
|
||||
* hide.
|
||||
*/
|
||||
List<Field> retList = new ArrayList<Field>(fields());
|
||||
iter = retList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Field field = (Field)iter.next();
|
||||
Field hidden = (Field)visibleTable.get(field.name());
|
||||
for (Field field : retList) {
|
||||
Field hidden = visibleTable.get(field.name());
|
||||
if (hidden != null) {
|
||||
visibleList.remove(hidden);
|
||||
}
|
||||
@ -515,12 +510,9 @@ implements ReferenceType {
|
||||
* methods.
|
||||
*/
|
||||
void addToMethodMap(Map<String, Method> methodMap, List<Method> methodList) {
|
||||
Iterator iter = methodList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method method = (Method)iter.next();
|
||||
for (Method method : methodList)
|
||||
methodMap.put(method.name().concat(method.signature()), method);
|
||||
}
|
||||
}
|
||||
|
||||
abstract void addVisibleMethods(Map<String, Method> methodMap);
|
||||
|
||||
@ -549,9 +541,7 @@ implements ReferenceType {
|
||||
public List<Method> methodsByName(String name) {
|
||||
List<Method> methods = visibleMethods();
|
||||
ArrayList<Method> retList = new ArrayList<Method>(methods.size());
|
||||
Iterator iter = methods.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method candidate = (Method)iter.next();
|
||||
for (Method candidate : methods) {
|
||||
if (candidate.name().equals(name)) {
|
||||
retList.add(candidate);
|
||||
}
|
||||
@ -563,9 +553,7 @@ implements ReferenceType {
|
||||
public List<Method> methodsByName(String name, String signature) {
|
||||
List<Method> methods = visibleMethods();
|
||||
ArrayList<Method> retList = new ArrayList<Method>(methods.size());
|
||||
Iterator iter = methods.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Method candidate = (Method)iter.next();
|
||||
for (Method candidate : methods) {
|
||||
if (candidate.name().equals(name) &&
|
||||
candidate.signature().equals(signature)) {
|
||||
retList.add(candidate);
|
||||
@ -706,7 +694,7 @@ implements ReferenceType {
|
||||
}
|
||||
|
||||
public String sourceName() throws AbsentInformationException {
|
||||
return (String)(sourceNames(vm.getDefaultStratum()).get(0));
|
||||
return sourceNames(vm.getDefaultStratum()).get(0);
|
||||
}
|
||||
|
||||
public List<String> sourceNames(String stratumID)
|
||||
@ -796,7 +784,7 @@ implements ReferenceType {
|
||||
if (!vm.canGetSourceDebugExtension()) {
|
||||
return NO_SDE_INFO_MARK;
|
||||
}
|
||||
SDE sde = (sdeRef == null) ? null : (SDE)sdeRef.get();
|
||||
SDE sde = (sdeRef == null) ? null : sdeRef.get();
|
||||
if (sde == null) {
|
||||
String extension = null;
|
||||
try {
|
||||
@ -1034,13 +1022,13 @@ implements ReferenceType {
|
||||
throw exc;
|
||||
}
|
||||
if (constantPoolBytesRef != null) {
|
||||
byte[] cpbytes = (byte[])constantPoolBytesRef.get();
|
||||
byte[] cpbytes = constantPoolBytesRef.get();
|
||||
/*
|
||||
* Arrays are always modifiable, so it is a little unsafe
|
||||
* to return the cached bytecodes directly; instead, we
|
||||
* make a clone at the cost of using more memory.
|
||||
*/
|
||||
return (byte[])cpbytes.clone();
|
||||
return cpbytes.clone();
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
@ -327,7 +327,7 @@ class SDE {
|
||||
|
||||
ignoreWhite();
|
||||
while (((ch = sdeRead()) != '\n') && (ch != '\r')) {
|
||||
sb.append((char)ch);
|
||||
sb.append(ch);
|
||||
}
|
||||
// check for CR LF
|
||||
if ((ch == '\r') && (sdePeek() == '\n')) {
|
||||
|
@ -162,7 +162,7 @@ public class StackFrameImpl extends MirrorImpl
|
||||
for (LocalVariable variable : allVariables) {
|
||||
String name = variable.name();
|
||||
if (variable.isVisible(this)) {
|
||||
LocalVariable existing = (LocalVariable)map.get(name);
|
||||
LocalVariable existing = map.get(name);
|
||||
if ((existing == null) ||
|
||||
((LocalVariableImpl)variable).hides(existing)) {
|
||||
map.put(name, variable);
|
||||
@ -330,7 +330,7 @@ public class StackFrameImpl extends MirrorImpl
|
||||
slot = 1;
|
||||
}
|
||||
for (int ii = 0; ii < count; ++ii) {
|
||||
char sigChar = (char)argSigs.get(ii).charAt(0);
|
||||
char sigChar = argSigs.get(ii).charAt(0);
|
||||
slots[ii] = new JDWP.StackFrame.GetValues.SlotInfo(slot++,(byte)sigChar);
|
||||
if (sigChar == 'J' || sigChar == 'D') {
|
||||
slot++;
|
||||
|
@ -148,7 +148,7 @@ public class TargetVM implements Runnable {
|
||||
idString = String.valueOf(p.id);
|
||||
|
||||
synchronized(waitingQueue) {
|
||||
p2 = (Packet)waitingQueue.get(idString);
|
||||
p2 = waitingQueue.get(idString);
|
||||
|
||||
if (p2 != null)
|
||||
waitingQueue.remove(idString);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user