Merge
This commit is contained in:
commit
e05ed764eb
.hgtags-top-repoMakefile
corba
hotspot
jaxp
jaxws
jdk
.hgtags
make
common
docs
java
jpda/transport/socket
mkdemo/jvmti/hprof
netbeans
sun
src/share/classes
com/sun
java
org/apache/xml/internal/security/utils
security
auth
sasl
servicetag
java
lang
net
nio/charset
security
util
javax
management/remote
naming/ldap
net/ssl
print
swing
sun
awt/image
io
java2d/pisces/META-INF/services
nio
@ -73,3 +73,4 @@ fd3663286e77b9f13c39eee124db2beb079b3ca6 jdk7-b95
|
||||
cf71cb5151166f35433afebaf67dbf34a704a170 jdk7-b96
|
||||
5e197c942c6ebd8b92f324a31049c5f1d26d40ef jdk7-b97
|
||||
6cea9984d73d74de0cd01f30d07ac0a1ed196117 jdk7-b98
|
||||
e7f18db469a3e947b7096bfd12e87380e5a042cd jdk7-b99
|
||||
|
76
Makefile
76
Makefile
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 1995, 2010, Oracle and/or its affiliates. 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
|
||||
@ -29,10 +29,6 @@ ifndef TOPDIR
|
||||
TOPDIR:=.
|
||||
endif
|
||||
|
||||
ifndef CONTROL_TOPDIR
|
||||
CONTROL_TOPDIR=$(TOPDIR)
|
||||
endif
|
||||
|
||||
# Openjdk sources (only used if SKIP_OPENJDK_BUILD!=true)
|
||||
OPENJDK_SOURCETREE=$(TOPDIR)/openjdk
|
||||
OPENJDK_BUILDDIR:=$(shell \
|
||||
@ -120,7 +116,7 @@ endif
|
||||
all_product_build::
|
||||
@$(FINISH_ECHO)
|
||||
|
||||
# Generis build of basic repo series
|
||||
# Generic build of basic repo series
|
||||
generic_build_repo_series::
|
||||
$(MKDIR) -p $(OUTPUTDIR)
|
||||
$(MKDIR) -p $(OUTPUTDIR)/j2sdk-image
|
||||
@ -179,11 +175,15 @@ endif
|
||||
# The install process needs to know what the DEBUG_NAME is, so
|
||||
# look for INSTALL_DEBUG_NAME in the install rules.
|
||||
#
|
||||
# NOTE: On windows, do not use $(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME).
|
||||
# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
|
||||
# not be the same location.
|
||||
#
|
||||
|
||||
# Location of fresh bootdir output
|
||||
ABS_BOOTDIR_OUTPUTDIR=$(ABS_OUTPUTDIR)/bootjdk
|
||||
FRESH_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/j2sdk-image
|
||||
FRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)-$(DEBUG_NAME)/j2sdk-image
|
||||
FRESH_DEBUG_BOOTDIR=$(ABS_BOOTDIR_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME)/j2sdk-image
|
||||
|
||||
create_fresh_product_bootdir: FRC
|
||||
@$(START_ECHO)
|
||||
@ -248,10 +248,14 @@ build_product_image:
|
||||
generic_build_repo_series
|
||||
@$(FINISH_ECHO)
|
||||
|
||||
# NOTE: On windows, do not use $(ABS_OUTPUTDIR)-$(DEBUG_NAME).
|
||||
# Due to the use of short paths in $(ABS_OUTPUTDIR), this may
|
||||
# not be the same location.
|
||||
|
||||
generic_debug_build:
|
||||
@$(START_ECHO)
|
||||
$(MAKE) \
|
||||
ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)-$(DEBUG_NAME) \
|
||||
ALT_OUTPUTDIR=$(ABS_OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-$(DEBUG_NAME) \
|
||||
DEBUG_NAME=$(DEBUG_NAME) \
|
||||
GENERATE_DOCS=false \
|
||||
$(BOOT_CYCLE_DEBUG_SETTINGS) \
|
||||
@ -348,8 +352,8 @@ endif
|
||||
|
||||
clobber::
|
||||
$(RM) -r $(OUTPUTDIR)/*
|
||||
$(RM) -r $(OUTPUTDIR)-debug/*
|
||||
$(RM) -r $(OUTPUTDIR)-fastdebug/*
|
||||
$(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-debug/*
|
||||
$(RM) -r $(OUTPUTDIR)/../$(PLATFORM)-$(ARCH)-fastdebug/*
|
||||
-($(RMDIR) -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1; $(TRUE))
|
||||
|
||||
clean: clobber
|
||||
@ -550,6 +554,56 @@ ifeq ($(BUNDLE_RULES_AVAILABLE), true)
|
||||
include $(BUNDLE_RULES)
|
||||
endif
|
||||
|
||||
################################################################
|
||||
# rule to test
|
||||
################################################################
|
||||
|
||||
.NOTPARALLEL: test
|
||||
|
||||
test: test_clean test_start test_summary
|
||||
|
||||
test_start:
|
||||
@$(ECHO) "Tests started at `$(DATE)`"
|
||||
|
||||
test_clean:
|
||||
$(RM) $(OUTPUTDIR)/test_failures.txt $(OUTPUTDIR)/test_log.txt
|
||||
|
||||
test_summary: $(OUTPUTDIR)/test_failures.txt
|
||||
@$(ECHO) "#################################################"
|
||||
@$(ECHO) "Tests completed at `$(DATE)`"
|
||||
@( $(EGREP) '^TEST STATS:' $(OUTPUTDIR)/test_log.txt \
|
||||
|| $(ECHO) "No TEST STATS seen in log" )
|
||||
@$(ECHO) "For complete details see: $(OUTPUTDIR)/test_log.txt"
|
||||
@$(ECHO) "#################################################"
|
||||
@if [ -s $< ] ; then \
|
||||
$(ECHO) "ERROR: Test failure count: `$(CAT) $< | $(WC) -l`"; \
|
||||
$(CAT) $<; \
|
||||
exit 1; \
|
||||
else \
|
||||
$(ECHO) "Success! No failures detected"; \
|
||||
fi
|
||||
|
||||
# Get failure list from log
|
||||
$(OUTPUTDIR)/test_failures.txt: $(OUTPUTDIR)/test_log.txt
|
||||
@$(RM) $@
|
||||
@( $(EGREP) '^FAILED:' $< || $(ECHO) "" ) > $@
|
||||
|
||||
# Get log file of all tests run
|
||||
JDK_TO_TEST := $(shell \
|
||||
if [ -d "$(ABS_OUTPUTDIR)/j2sdk-image" ] ; then \
|
||||
$(ECHO) "$(ABS_OUTPUTDIR)/j2sdk-image"; \
|
||||
elif [ -d "$(ABS_OUTPUTDIR)/bin" ] ; then \
|
||||
$(ECHO) "$(ABS_OUTPUTDIR)"; \
|
||||
elif [ "$(PRODUCT_HOME)" != "" -a -d "$(PRODUCT_HOME)/bin" ] ; then \
|
||||
$(ECHO) "$(PRODUCT_HOME)"; \
|
||||
fi \
|
||||
)
|
||||
$(OUTPUTDIR)/test_log.txt:
|
||||
$(RM) $@
|
||||
( $(CD) test && \
|
||||
$(MAKE) NO_STOPPING=- PRODUCT_HOME=$(JDK_TO_TEST) \
|
||||
) | tee $@
|
||||
|
||||
################################################################
|
||||
# JPRT rule to build
|
||||
################################################################
|
||||
@ -560,7 +614,7 @@ include ./make/jprt.gmk
|
||||
# PHONY
|
||||
################################################################
|
||||
|
||||
.PHONY: all \
|
||||
.PHONY: all test test_start test_summary test_clean \
|
||||
generic_build_repo_series \
|
||||
what clobber insane \
|
||||
dev dev-build dev-sanity dev-clobber \
|
||||
|
@ -73,3 +73,4 @@ bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91
|
||||
edc2a2659c77dabc55cb55bb617bad89e3a05bb3 jdk7-b96
|
||||
4ec9d59374caa1e5d72fa802291b4d66955a4936 jdk7-b97
|
||||
3b99409057e4c255da946f9f540d051a5ef4ab23 jdk7-b98
|
||||
95db968660e7d87c345d5cf3dc2e3db037fb7220 jdk7-b99
|
||||
|
@ -75,7 +75,7 @@ public class CorbaResourceUtil {
|
||||
args[1] = (arg1 != null ? arg1.toString() : "null");
|
||||
args[2] = (arg2 != null ? arg2.toString() : "null");
|
||||
|
||||
return java.text.MessageFormat.format(format, args);
|
||||
return java.text.MessageFormat.format(format, (Object[]) args);
|
||||
}
|
||||
|
||||
private static boolean resourcesInitialized = false;
|
||||
|
@ -350,7 +350,7 @@ public final class ObjectUtility {
|
||||
|
||||
if (useToString) {
|
||||
try {
|
||||
cls.getDeclaredMethod( "toString", null ) ;
|
||||
cls.getDeclaredMethod( "toString", (Class[])null ) ;
|
||||
return true ;
|
||||
} catch (Exception exc) {
|
||||
return false ;
|
||||
|
@ -108,8 +108,8 @@ public class ExceptionHandlerImpl implements ExceptionHandler
|
||||
|
||||
try {
|
||||
helperClass = Class.forName( helperName, true, loader ) ;
|
||||
Method idMethod = helperClass.getDeclaredMethod( "id", null ) ;
|
||||
setId( (String)idMethod.invoke( null, null ) ) ;
|
||||
Method idMethod = helperClass.getDeclaredMethod( "id", (Class[])null ) ;
|
||||
setId( (String)idMethod.invoke( null, (Object[])null ) ) ;
|
||||
} catch (Exception ex) {
|
||||
throw wrapper.badHelperIdMethod( ex, helperName ) ;
|
||||
}
|
||||
|
@ -589,7 +589,7 @@ abstract public class ORB {
|
||||
this.getClass().getMethod("create_operation_list", argc);
|
||||
|
||||
// OK, the method exists, so invoke it and be happy.
|
||||
Object[] argx = { oper };
|
||||
java.lang.Object[] argx = { oper };
|
||||
return (org.omg.CORBA.NVList)meth.invoke(this, argx);
|
||||
}
|
||||
catch( java.lang.reflect.InvocationTargetException exs ) {
|
||||
|
@ -187,7 +187,7 @@ public final class Bridge
|
||||
try {
|
||||
// Invoke the ObjectInputStream.latestUserDefinedLoader method
|
||||
return (ClassLoader)latestUserDefinedLoaderMethod.invoke(null,
|
||||
NO_ARGS);
|
||||
(Object[])NO_ARGS);
|
||||
} catch (InvocationTargetException ite) {
|
||||
Error err = new Error(
|
||||
"sun.corba.Bridge.latestUserDefinedLoader: " + ite ) ;
|
||||
|
@ -102,3 +102,4 @@ d38f45079fe98792a7381dbb4b64f5b589ec8c58 jdk7-b94
|
||||
573e8ea5fd68e8e51eb6308d283ac3b3889d15e0 hs19-b02
|
||||
5f42499e57adc16380780f40541e1a66cd601891 jdk7-b97
|
||||
8a045b3f5c13eaad92ff4baf15ca671845fcad1a jdk7-b98
|
||||
6a236384a379642b5a2398e2819db9ab4e711e9b jdk7-b99
|
||||
|
@ -32,6 +32,17 @@ SLASH_JAVA ?= J:
|
||||
PATH_SEP = ;
|
||||
|
||||
# Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
|
||||
ifeq ($(ARCH_DATA_MODEL),32)
|
||||
ARCH_DATA_MODEL=32
|
||||
PLATFORM=windows-i586
|
||||
VM_PLATFORM=windows_i486
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=i486
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_32
|
||||
endif
|
||||
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) x86),)
|
||||
ARCH_DATA_MODEL=32
|
||||
PLATFORM=windows-i586
|
||||
@ -43,55 +54,57 @@ ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) x86),)
|
||||
MAKE_ARGS += Platform_arch_model=x86_32
|
||||
endif
|
||||
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-ia64
|
||||
VM_PLATFORM=windows_ia64
|
||||
HS_ARCH=ia64
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=ia64
|
||||
MAKE_ARGS += BUILDARCH=ia64
|
||||
MAKE_ARGS += Platform_arch=ia64
|
||||
MAKE_ARGS += Platform_arch_model=ia64
|
||||
endif
|
||||
ifneq ($(ARCH_DATA_MODEL),32)
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-ia64
|
||||
VM_PLATFORM=windows_ia64
|
||||
HS_ARCH=ia64
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=ia64
|
||||
MAKE_ARGS += BUILDARCH=ia64
|
||||
MAKE_ARGS += Platform_arch=ia64
|
||||
MAKE_ARGS += Platform_arch_model=ia64
|
||||
endif
|
||||
|
||||
# http://support.microsoft.com/kb/888731 : this can be either
|
||||
# AMD64 for AMD, or EM64T for Intel chips.
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) EM64T),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
|
||||
# NB later OS versions than 2003 may report "Intel64"
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) Intel64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) Intel64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
endif
|
||||
|
||||
JDK_INCLUDE_SUBDIR=win32
|
||||
|
@ -73,3 +73,4 @@ c725ca829c5aa4b50a8ed5728579ec8809fbfb1d jdk7-b93
|
||||
9510ed0e1c7ab46a8b6659234e1dc7786407a72b jdk7-b96
|
||||
ca01ec32561fee1855630b68a2fcd0042257a8ef jdk7-b97
|
||||
d4adf4f2d14c7b79df0a81de884b6b57c6850802 jdk7-b98
|
||||
7ef8469021fbc824ac49d57c83a14b1bb08f1766 jdk7-b99
|
||||
|
@ -55,9 +55,29 @@
|
||||
<drop-import name="jaxp_src"/>
|
||||
<!-- <drop-import name="jaxp_tests"/> -->
|
||||
|
||||
<!-- Fail and print helpful messages if source does not exist. -->
|
||||
<target name="-src-help">
|
||||
<fail message="${failed.url.src.message}">
|
||||
<condition>
|
||||
<and>
|
||||
<not>
|
||||
<available file="${jaxp_src.src.dir}" type="dir"/>
|
||||
</not>
|
||||
<istrue value="${allow.downloads}"/>
|
||||
</and>
|
||||
</condition>
|
||||
</fail>
|
||||
<fail message="${failed.nourl.src.message}">
|
||||
<condition>
|
||||
<not>
|
||||
<available file="${jaxp_src.src.dir}" type="dir"/>
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
</target>
|
||||
|
||||
<!-- Special build area preparation. -->
|
||||
<target name="-drop-build-prep" depends="init, -init-src-dirs">
|
||||
<!-- Special build area setup. -->
|
||||
<target name="-drop-build-setup" depends="init, -init-src-dirs">
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
<copy todir="${build.classes.dir}">
|
||||
<fileset dir="${primary.src.dir}"
|
||||
@ -84,7 +104,7 @@
|
||||
|
||||
<!-- Source directory selection. -->
|
||||
<target name="-init-src-dirs"
|
||||
depends="init, -use-drop">
|
||||
depends="init, -use-drop,-src-help">
|
||||
<echo message="Using primary.src.dir=${primary.src.dir}"/>
|
||||
<pathconvert property="src.list.id" refid="src.dir.id"/>
|
||||
<echo message="Using src.dir.id=${src.list.id}"/>
|
||||
|
@ -75,6 +75,7 @@
|
||||
<target name="-@DROP@-url-should-be-used" unless="@DROP@.url.should.be.used">
|
||||
<condition property="@DROP@.url.should.be.used">
|
||||
<and>
|
||||
<istrue value="${allow.downloads}"/>
|
||||
<not>
|
||||
<isset property="@DROP@.master.bundle.copy.exists"/>
|
||||
</not>
|
||||
|
@ -104,4 +104,24 @@ sanity.info= Sanity Settings:${line.separator}\
|
||||
drops.dir=${drops.dir}${line.separator}\
|
||||
${line.separator}
|
||||
|
||||
# Failure messages when source cannot be found on the file system
|
||||
failed.nourl.src.message=\
|
||||
ERROR: Cannot find source for project ${ant.project.name}.\
|
||||
${line.separator}${line.separator}\
|
||||
HINT: Try setting drops.dir to indicate where the bundles can be found, \
|
||||
or try setting the ant property allow.downloads=true to download the bundle from the URL.\
|
||||
${line.separator}\
|
||||
e.g. ant -Dallow.downloads=true -OR- ant -Ddrops.dir=some_directory \
|
||||
${line.separator}
|
||||
|
||||
# Failure message when source cannot be downloaded
|
||||
failed.url.src.message=\
|
||||
ERROR: Cannot find source for project ${ant.project.name}.\
|
||||
${line.separator}${line.separator}\
|
||||
HINT: Try setting drops.dir to indicate where the bundles can be found, \
|
||||
or try checking the URL with your browser.\
|
||||
${line.separator}\
|
||||
e.g. ant -Ddrops.dir=some_directory \
|
||||
${line.separator}
|
||||
|
||||
#------------------------------------------------------------
|
||||
|
@ -36,6 +36,11 @@
|
||||
javac.debug - true or false for debug classfiles
|
||||
javac.target - classfile version target
|
||||
javac.source - source version
|
||||
drops.dir - directory that holds source drop bundles
|
||||
allow.download - permit downloads from public url (default is false)
|
||||
(used if bundles not found in drops.dir)
|
||||
|
||||
Run 'make help' for help using the Makefile.
|
||||
</description>
|
||||
|
||||
<!-- Mac is special, need to downgrade these before build.properties. -->
|
||||
@ -106,16 +111,20 @@
|
||||
<jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
|
||||
</target>
|
||||
|
||||
<target name="-build-prep"
|
||||
depends="init, -init-src-dirs, -drop-build-prep">
|
||||
<target name="-build-setup"
|
||||
depends="init, -init-src-dirs, -drop-build-setup">
|
||||
</target>
|
||||
|
||||
<!-- Build (compilation) of sources to class files. -->
|
||||
<target name="build"
|
||||
depends="init, -init-src-dirs, -build-prep">
|
||||
depends="compile, -build-setup">
|
||||
</target>
|
||||
<target name="compile"
|
||||
depends="init, -init-src-dirs">
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
<javac
|
||||
includeAntRuntime="false"
|
||||
classpath="${build.classes.dir}"
|
||||
includeAntRuntime="false"
|
||||
classpath="${build.classes.dir}:${tools.jar}"
|
||||
fork="true"
|
||||
destdir="${build.classes.dir}"
|
||||
memoryInitialSize="${javac.memoryInitialSize}"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2007, 2010, Oracle and/or its affiliates. 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
|
||||
@ -24,13 +24,13 @@
|
||||
#
|
||||
|
||||
drops.master.copy.base=${drops.dir}
|
||||
drops.master.url.base=https://jaxp.dev.java.net/files/documents/913/147490
|
||||
|
||||
jaxp_src.bundle.name=jdk7-jaxp-m6.zip
|
||||
jaxp_src.bundle.md5.checksum=080827d779c114365f8504bd79b34604
|
||||
jaxp_src.bundle.name=jdk7-jaxp-m7.zip
|
||||
jaxp_src.bundle.md5.checksum=22e95fbdb9fb7d8b6b6fc0a1d76d1fbd
|
||||
jaxp_src.master.bundle.dir=${drops.master.copy.base}
|
||||
jaxp_src.master.bundle.url.base=${drops.master.url.base}
|
||||
jaxp_src.master.bundle.url.base=https://jaxp.dev.java.net/files/documents/913/147490
|
||||
|
||||
#jaxp_tests.bundle.name=jdk7-jaxp-tests-2009_08_28.zip
|
||||
#jaxp_tests.master.bundle.dir=${drops.master.copy.base}
|
||||
#jaxp_tests.master.bundle.url.base=https://jaxp.dev.java.net/files/documents/913/147490
|
||||
|
||||
jaxp_tests.bundle.name=jdk7-jaxp-tests-2009_08_28.zip
|
||||
jaxp_tests.master.bundle.dir=${drops.master.copy.base}
|
||||
jaxp_tests.master.bundle.url.base=${drops.master.url.base}
|
||||
|
@ -65,6 +65,11 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
# If downloads are allowed
|
||||
ifeq ($(ALLOW_DOWNLOADS),true)
|
||||
ANT_OPTIONS += -Dallow.downloads=true
|
||||
endif
|
||||
|
||||
# Figure out the platform we are using
|
||||
_SYSTEM_UNAME := $(shell uname)
|
||||
_PLATFORM_KIND = unix
|
||||
@ -159,6 +164,8 @@ help:
|
||||
@echo " $(ANT_TARGETS)"
|
||||
@echo " "
|
||||
@echo " Environment or command line variables (all optional):"
|
||||
$(call helpenvline, ALT_DROPS_DIR,\
|
||||
"Directory that contains the drop source bundles i.e. drops.dir")
|
||||
$(call helpenvline, ALT_BOOTDIR,\
|
||||
"JAVA_HOME to use when running ant")
|
||||
$(call helpenvline, ALT_LANGTOOLS_DIST,\
|
||||
|
@ -73,3 +73,4 @@ ee06cfb113d554b5c8a9a53383bae2b168533829 jdk7-b95
|
||||
208fd4451232f7a522ddb20334c598656844ccb7 jdk7-b96
|
||||
dac23846092ad4956ed41b5278f8686476ae46ef jdk7-b97
|
||||
4571098071094e705e680db5324bfa15a57b1290 jdk7-b98
|
||||
818366ce23d8919cafaa4db4c51605ee2a7c8eaf jdk7-b99
|
||||
|
@ -55,9 +55,36 @@
|
||||
<drop-import name="jaxws_src"/>
|
||||
<drop-import name="jaf_src"/>
|
||||
<!-- <drop-import name="jaxws_tests"/> -->
|
||||
|
||||
<!-- Fail and print helpful messages if source does not exist. -->
|
||||
<target name="-src-help">
|
||||
<fail message="${failed.url.src.message}">
|
||||
<condition>
|
||||
<and>
|
||||
<not>
|
||||
<and>
|
||||
<available file="${jaxws_src.src.dir}" type="dir"/>
|
||||
<available file="${jaf_src.src.dir}" type="dir"/>
|
||||
</and>
|
||||
</not>
|
||||
<istrue value="${allow.downloads}"/>
|
||||
</and>
|
||||
</condition>
|
||||
</fail>
|
||||
<fail message="${failed.nourl.src.message}">
|
||||
<condition>
|
||||
<not>
|
||||
<and>
|
||||
<available file="${jaxws_src.src.dir}" type="dir"/>
|
||||
<available file="${jaf_src.src.dir}" type="dir"/>
|
||||
</and>
|
||||
</not>
|
||||
</condition>
|
||||
</fail>
|
||||
</target>
|
||||
|
||||
<!-- Special build area preparation. -->
|
||||
<target name="-drop-build-prep" depends="init, -init-src-dirs">
|
||||
<!-- Special build area setup. -->
|
||||
<target name="-drop-build-setup" depends="init, -init-src-dirs">
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
<copy todir="${build.classes.dir}">
|
||||
<fileset dir="${primary.src.dir}"
|
||||
@ -99,7 +126,7 @@
|
||||
|
||||
<!-- Source directory selection. -->
|
||||
<target name="-init-src-dirs"
|
||||
depends="init, -use-drop">
|
||||
depends="init, -use-drop,-src-help">
|
||||
<echo message="Using primary.src.dir=${primary.src.dir}"/>
|
||||
<pathconvert property="src.list.id" refid="src.dir.id"/>
|
||||
<echo message="Using src.dir.id=${src.list.id}"/>
|
||||
|
@ -75,6 +75,7 @@
|
||||
<target name="-@DROP@-url-should-be-used" unless="@DROP@.url.should.be.used">
|
||||
<condition property="@DROP@.url.should.be.used">
|
||||
<and>
|
||||
<istrue value="${allow.downloads}"/>
|
||||
<not>
|
||||
<isset property="@DROP@.master.bundle.copy.exists"/>
|
||||
</not>
|
||||
|
@ -104,4 +104,24 @@ sanity.info= Sanity Settings:${line.separator}\
|
||||
drops.dir=${drops.dir}${line.separator}\
|
||||
${line.separator}
|
||||
|
||||
# Failure messages when source cannot be found on the file system
|
||||
failed.nourl.src.message=\
|
||||
ERROR: Cannot find source for project ${ant.project.name}.\
|
||||
${line.separator}${line.separator}\
|
||||
HINT: Try setting drops.dir to indicate where the bundles can be found, \
|
||||
or try setting the ant property allow.downloads=true to download the bundle from the URL.\
|
||||
${line.separator}\
|
||||
e.g. ant -Dallow.downloads=true -OR- ant -Ddrops.dir=some_directory \
|
||||
${line.separator}
|
||||
|
||||
# Failure message when source cannot be downloaded
|
||||
failed.url.src.message=\
|
||||
ERROR: Cannot find source for project ${ant.project.name}.\
|
||||
${line.separator}${line.separator}\
|
||||
HINT: Try setting drops.dir to indicate where the bundles can be found, \
|
||||
or try checking the URL with your browser.\
|
||||
${line.separator}\
|
||||
e.g. ant -Ddrops.dir=some_directory \
|
||||
${line.separator}
|
||||
|
||||
#------------------------------------------------------------
|
||||
|
@ -36,6 +36,11 @@
|
||||
javac.debug - true or false for debug classfiles
|
||||
javac.target - classfile version target
|
||||
javac.source - source version
|
||||
drops.dir - directory that holds source drop bundles
|
||||
allow.download - permit downloads from public url (default is false)
|
||||
(used if bundles not found in drops.dir)
|
||||
|
||||
Run 'make help' for help using the Makefile.
|
||||
</description>
|
||||
|
||||
<!-- Mac is special, need to downgrade these before build.properties. -->
|
||||
@ -106,13 +111,17 @@
|
||||
<jar file="${dist.classes.jar}" basedir="${build.classes.dir}"/>
|
||||
</target>
|
||||
|
||||
<target name="-build-prep"
|
||||
depends="init, -init-src-dirs, -drop-build-prep">
|
||||
<target name="-build-setup"
|
||||
depends="init, -init-src-dirs, -drop-build-setup">
|
||||
</target>
|
||||
|
||||
<!-- Build (compilation) of sources to class files. -->
|
||||
<target name="build"
|
||||
depends="init, -init-src-dirs, -build-prep">
|
||||
depends="compile, -build-setup">
|
||||
</target>
|
||||
<target name="compile"
|
||||
depends="init, -init-src-dirs">
|
||||
<mkdir dir="${build.classes.dir}"/>
|
||||
<javac
|
||||
includeAntRuntime="false"
|
||||
classpath="${build.classes.dir}:${tools.jar}"
|
||||
|
@ -24,19 +24,18 @@
|
||||
#
|
||||
|
||||
drops.master.copy.base=${drops.dir}
|
||||
drops.master.url.base=http://kenai.com/projects/jdk7-drops/downloads/download
|
||||
|
||||
jaxws_src.bundle.name=jdk7-jaxws-2009_09_28.zip
|
||||
jaxws_src.bundle.md5.checksum=f5010ebf636db9f465a61a7a74944543
|
||||
jaxws_src.bundle.name=jdk7-jaxws-b100.zip
|
||||
jaxws_src.bundle.md5.checksum=e4fea255c6222b118bb1d0d3054d36e1
|
||||
jaxws_src.master.bundle.dir=${drops.master.copy.base}
|
||||
#jaxws_src.bundle.url.base=https://jaxws.dev.java.net/files/documents/913/142147
|
||||
jaxws_src.master.bundle.url.base=${drops.master.url.base}
|
||||
jaxws_src.master.bundle.url.base=https://jax-ws.dev.java.net/files/documents/4202/150896
|
||||
|
||||
jaf_src.bundle.name=jdk7-jaf-2009_08_28.zip
|
||||
jaf_src.bundle.md5.checksum=eb8cb7a4a7f14e211fbe2354878a2472
|
||||
jaf_src.master.bundle.dir=${drops.master.copy.base}
|
||||
jaf_src.master.bundle.url.base=${drops.master.url.base}
|
||||
jaf_src.master.bundle.url.base=http://kenai.com/projects/jdk7-drops/downloads/download
|
||||
|
||||
#jaxws_tests.bundle.name=jdk7-jaxws-tests-2009_08_28.zip
|
||||
#jaxws_tests.master.bundle.dir=${drops.master.copy.base}
|
||||
#jaxws_tests.master.bundle.url.base=http://kenai.com/projects/jdk7-drops/downloads/download
|
||||
|
||||
jaxws_tests.bundle.name=jdk7-jaxws-tests-2009_08_28.zip
|
||||
jaxws_tests.master.bundle.dir=${drops.master.copy.base}
|
||||
jaxws_tests.master.bundle.url.base=${drops.master.url.base}
|
||||
|
@ -65,6 +65,11 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
# If downloads are allowed
|
||||
ifeq ($(ALLOW_DOWNLOADS),true)
|
||||
ANT_OPTIONS += -Dallow.downloads=true
|
||||
endif
|
||||
|
||||
# Figure out the platform we are using
|
||||
_SYSTEM_UNAME := $(shell uname)
|
||||
_PLATFORM_KIND = unix
|
||||
@ -159,6 +164,8 @@ help:
|
||||
@echo " $(ANT_TARGETS)"
|
||||
@echo " "
|
||||
@echo " Environment or command line variables (all optional):"
|
||||
$(call helpenvline, ALT_DROPS_DIR,\
|
||||
"Directory that contains the drop source bundles i.e. drops.dir")
|
||||
$(call helpenvline, ALT_BOOTDIR,\
|
||||
"JAVA_HOME to use when running ant")
|
||||
$(call helpenvline, ALT_LANGTOOLS_DIST,\
|
||||
|
@ -73,3 +73,4 @@ db951e984ccf50756160fee3078c791300b0917e jdk7-b95
|
||||
51b9e5dbc2da0631414484b934ac3fb62e48a2c6 jdk7-b96
|
||||
b1903d7528d33b521df42bc9291bdcdd2f444a29 jdk7-b97
|
||||
82593186fa54ab12f17af31f86a7bf364efaf4df jdk7-b98
|
||||
2587c9f0b60dc3146b4247b8674ada456a643d6f jdk7-b99
|
||||
|
@ -320,6 +320,7 @@ override LIBCXX = -lstdc++
|
||||
endif
|
||||
override LIBPOSIX4 =
|
||||
override LIBSOCKET =
|
||||
override LIBNSL =
|
||||
override LIBTHREAD =
|
||||
override MOOT_PRIORITIES = true
|
||||
override NO_INTERRUPTIBLE_IO = true
|
||||
|
@ -645,6 +645,9 @@ LIBM = /usr/lib$(ISA_DIR)/libm.so.2
|
||||
# Socket library
|
||||
LIBSOCKET = -lsocket
|
||||
|
||||
# Network Services library
|
||||
LIBNSL = -lnsl
|
||||
|
||||
# GLOBAL_KPIC: If set means all libraries are PIC, position independent code
|
||||
# EXCEPT for select compiles
|
||||
# If a .o file is compiled non-PIC then it should be forced
|
||||
|
@ -54,6 +54,13 @@ EXCLUDE_PROPWARN_PKGS = com.sun.java.swing.plaf.windows \
|
||||
# This is a stopgap until 6839872 is fixed.
|
||||
EXCLUDE_PROPWARN_PKGS += sun.dyn
|
||||
|
||||
#
|
||||
# Include the exported private packages in ct.sym.
|
||||
# This is an interim solution until the ct.sym is replaced
|
||||
# with a new module system (being discussed for JDK 7).
|
||||
#
|
||||
EXPORTED_PRIVATE_PKGS = com.sun.servicetag
|
||||
|
||||
# 64-bit solaris has a few special cases. We define the variable
|
||||
# SOLARIS64 for use in this Makefile to easily test those cases
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
@ -982,7 +989,7 @@ initial-image-jdk:: initial-image-jdk-setup \
|
||||
-processor com.sun.tools.javac.sym.CreateSymbols \
|
||||
-Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
|
||||
-Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
|
||||
$(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
|
||||
$(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS) $(EXPORTED_PRIVATE_PKGS)
|
||||
$(BOOT_JAR_CMD) c0f $(LIBDIR)/ct.sym \
|
||||
-C $(OUTPUTDIR)/symbols META-INF $(BOOT_JAR_JFLAGS)
|
||||
@$(java-vm-cleanup)
|
||||
|
@ -35,9 +35,6 @@ ifndef JDK_MAKE_SHARED_DIR
|
||||
JDK_MAKE_SHARED_DIR = $(JDK_TOPDIR)/make/common/shared
|
||||
endif
|
||||
|
||||
ifndef CONTROL_TOPDIR
|
||||
CONTROL_TOPDIR=$(TOPDIR)
|
||||
endif
|
||||
ifndef HOTSPOT_TOPDIR
|
||||
HOTSPOT_TOPDIR=$(TOPDIR)/hotspot
|
||||
endif
|
||||
|
@ -234,6 +234,7 @@ CORE_PKGS = \
|
||||
javax.xml.ws.http \
|
||||
javax.xml.ws.soap \
|
||||
javax.xml.ws.spi \
|
||||
javax.xml.ws.spi.http \
|
||||
javax.xml.ws.wsaddressing \
|
||||
javax.xml.transform \
|
||||
javax.xml.transform.sax \
|
||||
|
@ -86,5 +86,5 @@ endif
|
||||
# Things that must be linked in.
|
||||
#
|
||||
ifneq ($(PLATFORM), windows)
|
||||
OTHER_LDLIBS += $(LIBSOCKET) -lnsl $(LIBM) -ldl
|
||||
OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) $(LIBM) -ldl
|
||||
endif
|
||||
|
@ -204,7 +204,7 @@ ifeq ($(PLATFORM),windows)
|
||||
OTHER_LDLIBS += $(JVMLIB) -libpath:$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) fdlibm.lib \
|
||||
-libpath:$(OBJDIR)/../../../verify/$(OBJDIRNAME) verify.lib
|
||||
else
|
||||
OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) -lnsl -ldl \
|
||||
OTHER_LDLIBS += $(JVMLIB) -lverify $(LIBSOCKET) $(LIBNSL) -ldl \
|
||||
-L$(OBJDIR)/../../../fdlibm/$(OBJDIRNAME) -lfdlibm.$(ARCH)
|
||||
endif
|
||||
|
||||
|
@ -84,7 +84,7 @@ OTHER_INCLUDES = -I$(SRCDIR) \
|
||||
ifeq ($(PLATFORM), windows)
|
||||
OTHER_LDLIBS += wsock32.lib winmm.lib
|
||||
else
|
||||
OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
|
||||
OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl
|
||||
endif
|
||||
|
||||
#
|
||||
|
@ -96,7 +96,7 @@ include $(BUILDDIR)/common/Library.gmk
|
||||
ifeq ($(PLATFORM), windows)
|
||||
OTHER_LDLIBS = ws2_32.lib $(JVMLIB)
|
||||
else
|
||||
OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB)
|
||||
OTHER_LDLIBS = $(LIBSOCKET) $(LIBNSL) -ldl $(JVMLIB)
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
OTHER_LDLIBS += -lpthread
|
||||
|
@ -38,11 +38,11 @@ FILES_m = mapfile-vers
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
ifeq ($(PLATFORM), linux)
|
||||
OTHER_LDLIBS += -lnsl $(LIBSOCKET) -lpthread
|
||||
OTHER_LDLIBS += $(LIBNSL) $(LIBSOCKET) -lpthread
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
OTHER_LDLIBS += -lnsl $(LIBSOCKET)
|
||||
OTHER_LDLIBS += $(LIBNSL) $(LIBSOCKET)
|
||||
endif
|
||||
|
||||
ifeq ($(PLATFORM), windows)
|
||||
|
@ -39,10 +39,10 @@ ifeq ($(PLATFORM), windows)
|
||||
EXTRA_LIBS += wsock32.lib winmm.lib
|
||||
endif
|
||||
ifeq ($(PLATFORM), solaris)
|
||||
OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl
|
||||
OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl
|
||||
endif
|
||||
ifeq ($(PLATFORM), linux)
|
||||
OTHER_LDLIBS += $(LIBSOCKET) -lnsl -ldl -lpthread
|
||||
OTHER_LDLIBS += $(LIBSOCKET) $(LIBNSL) -ldl -lpthread
|
||||
endif
|
||||
|
||||
#
|
||||
|
@ -204,8 +204,8 @@ Provided NetBeans projects
|
||||
note that pretty much regardless of your hardware, this *will* take
|
||||
a long time, and use *lots* of disk space (more than 3GB). The
|
||||
results of the build are in
|
||||
*install-dir*/control/build/*platform*-*arch* and
|
||||
*install-dir*/control/build/*platform*-*arch*-fastdebug.
|
||||
*install-dir*/build/*platform*-*arch* and
|
||||
*install-dir*/build/*platform*-*arch*-fastdebug.
|
||||
|
||||
Consult the project's README file for details.
|
||||
|
||||
|
@ -10,6 +10,6 @@ project code, you might prefer to build it from the command line using ant.
|
||||
Please note: the results of building this project are *not* put in the place
|
||||
used by other projects. In this case, the results are place in
|
||||
|
||||
<install-dir>/control/build/<platform>-<arch>
|
||||
<install-dir>/build/<platform>-<arch>
|
||||
and
|
||||
<install-dir>/control/build/<platform>-<arch>-fastdebug
|
||||
<install-dir>/build/<platform>-<arch>-fastdebug
|
||||
|
@ -34,11 +34,11 @@
|
||||
<import file="../common/shared.xml"/>
|
||||
|
||||
<target name="-build-make" depends="-make.init" if="use.make">
|
||||
<make-run target="dev" dir="${root}/../control/make" opts="SKIP_COMPARE_IMAGES=true"/>
|
||||
<make-run target="dev" dir="${root}/.." opts="SKIP_COMPARE_IMAGES=true"/>
|
||||
</target>
|
||||
|
||||
<target name="-clean-make" depends="-make.init" if="use.make">
|
||||
<make-run target="clean" dir="${root}/../control/make"/>
|
||||
<make-run target="clean" dir="${root}/.."/>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
@ -37,7 +37,7 @@ PRODUCT = sun
|
||||
# This re-directs all the class files to a separate location
|
||||
CLASSDESTDIR = $(TEMPDIR)/classes
|
||||
|
||||
OTHER_JAVACFLAGS += -Xlint:serial -Werror
|
||||
OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror
|
||||
include $(BUILDDIR)/common/Defs.gmk
|
||||
|
||||
#
|
||||
|
@ -52,5 +52,11 @@ build: copy-files
|
||||
|
||||
copy-files: $(FILES_copy)
|
||||
|
||||
$(SERVICEDIR)/%: $(SHARE_SRC)/classes/sun/java2d/pisces/META-INF/services/%
|
||||
ifneq ($(PLATFORM), windows)
|
||||
SERVICE_SRC = $(PLATFORM_SRC)
|
||||
else
|
||||
SERVICE_SRC = $(SHARE_SRC)
|
||||
endif
|
||||
|
||||
$(SERVICEDIR)/%: $(SERVICE_SRC)/classes/sun/java2d/pisces/META-INF/services/%
|
||||
$(install-file)
|
||||
|
@ -150,6 +150,7 @@ OTHER_INCLUDES += \
|
||||
# Rules
|
||||
#
|
||||
CLASSDESTDIR = $(TEMPDIR)/classes
|
||||
JAVAHFLAGS += -classpath $(CLASSDESTDIR)
|
||||
|
||||
include $(BUILDDIR)/common/Mapfile-vers.gmk
|
||||
|
||||
|
@ -148,6 +148,7 @@ OTHER_INCLUDES += \
|
||||
# Rules
|
||||
#
|
||||
CLASSDESTDIR = $(TEMPDIR)/classes
|
||||
JAVAHFLAGS += -classpath $(CLASSDESTDIR)
|
||||
|
||||
include $(BUILDDIR)/common/Mapfile-vers.gmk
|
||||
|
||||
|
@ -49,7 +49,8 @@ AUTO_FILES_JAVA_DIRS = \
|
||||
|
||||
# Extra jstat files
|
||||
FILES_copy += \
|
||||
$(CLASSDESTDIR)/sun/tools/jstat/resources/jstat_options
|
||||
$(CLASSDESTDIR)/sun/tools/jstat/resources/jstat_options \
|
||||
$(CLASSDESTDIR)/sun/tools/jstat/resources/jstat_unsupported_options
|
||||
|
||||
# Extra jhat files
|
||||
JHAT_RESOURCEDIR = $(CLASSDESTDIR)/com/sun/tools/hat/resources
|
||||
|
@ -424,7 +424,7 @@ public class WindowsComboBoxUI extends BasicComboBoxUI {
|
||||
State rv;
|
||||
rv = super.getState();
|
||||
if (rv != State.DISABLED
|
||||
&& ! comboBox.isEditable()
|
||||
&& comboBox != null && ! comboBox.isEditable()
|
||||
&& XPStyle.getXP().isSkinDefined(comboBox,
|
||||
Part.CP_DROPDOWNBUTTONRIGHT)) {
|
||||
/*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. 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
|
||||
@ -47,10 +47,13 @@ interface Constants {
|
||||
|
||||
public final static short JAVA5_MAX_CLASS_MAJOR_VERSION = 49;
|
||||
public final static short JAVA5_MAX_CLASS_MINOR_VERSION = 0;
|
||||
// NOTE: ASSUMED for now
|
||||
|
||||
public final static short JAVA6_MAX_CLASS_MAJOR_VERSION = 50;
|
||||
public final static short JAVA6_MAX_CLASS_MINOR_VERSION = 0;
|
||||
|
||||
public final static short JAVA7_MAX_CLASS_MAJOR_VERSION = 51;
|
||||
public final static short JAVA7_MAX_CLASS_MINOR_VERSION = 0;
|
||||
|
||||
public final static int JAVA_PACKAGE_MAGIC = 0xCAFED00D;
|
||||
public final static int JAVA5_PACKAGE_MAJOR_VERSION = 150;
|
||||
public final static int JAVA5_PACKAGE_MINOR_VERSION = 7;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. 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
|
||||
@ -57,8 +57,8 @@ class Package implements Constants {
|
||||
// These fields can be adjusted by driver properties.
|
||||
short min_class_majver = JAVA_MIN_CLASS_MAJOR_VERSION;
|
||||
short min_class_minver = JAVA_MIN_CLASS_MINOR_VERSION;
|
||||
short max_class_majver = JAVA6_MAX_CLASS_MAJOR_VERSION;
|
||||
short max_class_minver = JAVA6_MAX_CLASS_MINOR_VERSION;
|
||||
short max_class_majver = JAVA7_MAX_CLASS_MAJOR_VERSION;
|
||||
short max_class_minver = JAVA7_MAX_CLASS_MINOR_VERSION;
|
||||
|
||||
short observed_max_class_majver = min_class_majver;
|
||||
short observed_max_class_minver = min_class_minver;
|
||||
@ -122,13 +122,16 @@ class Package implements Constants {
|
||||
void choosePackageVersion() {
|
||||
assert(package_majver <= 0); // do not call this twice
|
||||
int classver = getHighestClassVersion();
|
||||
if (classver != 0 &&
|
||||
(classver >>> 16) < JAVA6_MAX_CLASS_MAJOR_VERSION) {
|
||||
// There are only old classfiles in this segment.
|
||||
if (classver == 0 || (classver >>> 16) < JAVA6_MAX_CLASS_MAJOR_VERSION) {
|
||||
// There are only old classfiles in this segment or resources
|
||||
package_majver = JAVA5_PACKAGE_MAJOR_VERSION;
|
||||
package_minver = JAVA5_PACKAGE_MINOR_VERSION;
|
||||
} else if ((classver >>> 16) == JAVA6_MAX_CLASS_MAJOR_VERSION) {
|
||||
package_majver = JAVA6_PACKAGE_MAJOR_VERSION;
|
||||
package_minver = JAVA6_PACKAGE_MINOR_VERSION;
|
||||
} else {
|
||||
// Normal case. Use the newest archive format.
|
||||
// Normal case. Use the newest archive format, when available
|
||||
// TODO: replace the following with JAVA7* when the need arises
|
||||
package_majver = JAVA6_PACKAGE_MAJOR_VERSION;
|
||||
package_minver = JAVA6_PACKAGE_MINOR_VERSION;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003,2010 Oracle and/or its affiliates. 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
|
||||
@ -90,8 +90,8 @@ class PropMap extends TreeMap {
|
||||
props.put(Utils.PACK_DEFAULT_TIMEZONE,
|
||||
String.valueOf(Boolean.getBoolean(Utils.PACK_DEFAULT_TIMEZONE)));
|
||||
|
||||
// Limit segment size to less than a megabyte.
|
||||
props.put(Pack200.Packer.SEGMENT_LIMIT, ""+(1*1000*1000));
|
||||
// The segment size is unlimited
|
||||
props.put(Pack200.Packer.SEGMENT_LIMIT, "");
|
||||
|
||||
// Preserve file ordering by default.
|
||||
props.put(Pack200.Packer.KEEP_FILE_ORDER, Pack200.Packer.TRUE);
|
||||
|
@ -41,7 +41,7 @@ import org.w3c.dom.Text;
|
||||
* @author Raul Benito(Of the xerces copy, and little adaptations).
|
||||
* @author Anli Shundi
|
||||
* @author Christian Geuer-Pollmann
|
||||
* @see <A HREF="ftp://ftp.isi.edu/in-notes/rfc2045.txt">RFC 2045</A>
|
||||
* @see <A HREF="http://www.ietf.org/rfc/rfc2045.txt">RFC 2045</A>
|
||||
* @see com.sun.org.apache.xml.internal.security.transforms.implementations.TransformBase64Decode
|
||||
*/
|
||||
public class Base64 {
|
||||
|
@ -31,7 +31,7 @@ import javax.naming.ldap.LdapName;
|
||||
|
||||
/**
|
||||
* A principal identified by a distinguished name as specified by
|
||||
* <a href="http://ietf.org//rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
*
|
||||
* <p>
|
||||
* After successful authentication, a user {@link java.security.Principal}
|
||||
@ -122,7 +122,7 @@ public final class LdapPrincipal implements Principal, java.io.Serializable {
|
||||
|
||||
/**
|
||||
* Creates a string representation of this principal's name in the format
|
||||
* defined by <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* defined by <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* If the name has zero components an empty string is returned.
|
||||
*
|
||||
* @return The principal's string name.
|
||||
|
@ -33,7 +33,7 @@ import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Implements the CRAM-MD5 SASL client-side mechanism.
|
||||
* (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2195.txt">RFC 2195</A>).
|
||||
* (<A HREF="http://www.ietf.org/rfc/rfc2195.txt">RFC 2195</A>).
|
||||
* CRAM-MD5 has no initial response. It receives bytes from
|
||||
* the server as a challenge, which it hashes by using MD5 and the password.
|
||||
* It concatenates the authentication ID with this result and returns it
|
||||
|
@ -38,7 +38,7 @@ import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Implements the CRAM-MD5 SASL server-side mechanism.
|
||||
* (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2195.txt">RFC 2195</A>).
|
||||
* (<A HREF="http://www.ietf.org/rfc/rfc2195.txt">RFC 2195</A>).
|
||||
* CRAM-MD5 has no initial response.
|
||||
*
|
||||
* client <---- M={random, timestamp, server-fqdn} ------- server
|
||||
|
@ -29,7 +29,7 @@ import javax.security.sasl.*;
|
||||
|
||||
/**
|
||||
* Implements the EXTERNAL SASL client mechanism.
|
||||
* (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2222.txt">RFC 2222</A>).
|
||||
* (<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>).
|
||||
* The EXTERNAL mechanism returns the optional authorization ID as
|
||||
* the initial response. It processes no challenges.
|
||||
*
|
||||
|
@ -39,10 +39,10 @@ import org.ietf.jgss.*;
|
||||
|
||||
/**
|
||||
* Implements the GSSAPI SASL client mechanism for Kerberos V5.
|
||||
* (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2222.txt">RFC 2222</A>,
|
||||
* (<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>,
|
||||
* <a HREF="http://www.ietf.org/internet-drafts/draft-ietf-cat-sasl-gssapi-04.txt">draft-ietf-cat-sasl-gssapi-04.txt</a>).
|
||||
* It uses the Java Bindings for GSSAPI
|
||||
* (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2853.txt">RFC 2853</A>)
|
||||
* (<A HREF="http://www.ietf.org/rfc/rfc2853.txt">RFC 2853</A>)
|
||||
* for getting GSSAPI/Kerberos V5 support.
|
||||
*
|
||||
* The client/server interactions are:
|
||||
|
@ -39,7 +39,7 @@ import org.ietf.jgss.*;
|
||||
|
||||
/**
|
||||
* Implements the GSSAPI SASL server mechanism for Kerberos V5.
|
||||
* (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2222.txt">RFC 2222</A>,
|
||||
* (<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>,
|
||||
* <a HREF="http://www.ietf.org/internet-drafts/draft-ietf-cat-sasl-gssapi-00.txt">draft-ietf-cat-sasl-gssapi-00.txt</a>).
|
||||
*
|
||||
* Expects thread's Subject to contain server's Kerberos credentials
|
||||
|
@ -67,7 +67,6 @@ public class Registry {
|
||||
// The stclient output has to be an exported interface
|
||||
private static final String INSTANCE_URN_DESC = "Product instance URN=";
|
||||
private static boolean initialized = false;
|
||||
private static boolean supportsHelperClass = true; // default
|
||||
private static File stclient = null;
|
||||
private static String stclientPath = null;
|
||||
private static Registry registry = new Registry();
|
||||
@ -81,17 +80,6 @@ public class Registry {
|
||||
|
||||
private synchronized static String getSTclient() {
|
||||
if (!initialized) {
|
||||
// the system property always overrides the default setting
|
||||
if (System.getProperty(SVCTAG_STHELPER_SUPPORTED) != null) {
|
||||
supportsHelperClass = Boolean.getBoolean(SVCTAG_STHELPER_SUPPORTED);
|
||||
}
|
||||
|
||||
// This is only used for testing
|
||||
stclientPath = System.getProperty(SVCTAG_STCLIENT_CMD);
|
||||
if (stclientPath != null) {
|
||||
return stclientPath;
|
||||
}
|
||||
|
||||
// Initialization to determine the platform's stclient pathname
|
||||
String os = System.getProperty("os.name");
|
||||
if (os.equals("SunOS")) {
|
||||
@ -108,10 +96,26 @@ public class Registry {
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
boolean supportsHelperClass = true; // default
|
||||
if (System.getProperty(SVCTAG_STHELPER_SUPPORTED) != null) {
|
||||
// the system property always overrides the default setting
|
||||
supportsHelperClass = Boolean.getBoolean(SVCTAG_STHELPER_SUPPORTED);
|
||||
}
|
||||
|
||||
if (!supportsHelperClass) {
|
||||
// disable system registry
|
||||
return null;
|
||||
}
|
||||
|
||||
// This is only used for testing
|
||||
String path = System.getProperty(SVCTAG_STCLIENT_CMD);
|
||||
if (path != null) {
|
||||
return path;
|
||||
}
|
||||
|
||||
// com.sun.servicetag package has to be compiled with JDK 5 as well
|
||||
// JDK 5 doesn't support the File.canExecute() method.
|
||||
// Risk not checking isExecute() for the stclient command is very low.
|
||||
|
||||
if (stclientPath == null && stclient != null && stclient.exists()) {
|
||||
stclientPath = stclient.getAbsolutePath();
|
||||
}
|
||||
@ -142,8 +146,8 @@ public class Registry {
|
||||
* @return {@code true} if the {@code Registry} class is supported;
|
||||
* otherwise, return {@code false}.
|
||||
*/
|
||||
public static boolean isSupported() {
|
||||
return (getSTclient() != null && supportsHelperClass);
|
||||
public static synchronized boolean isSupported() {
|
||||
return getSTclient() != null;
|
||||
}
|
||||
|
||||
private static List<String> getCommandList() {
|
||||
|
Binary file not shown.
Before ![]() (image error) Size: 19 KiB After ![]() (image error) Size: 8.5 KiB ![]() ![]() |
@ -53,13 +53,13 @@ a:visited,a:visited code{color:#917E9C}
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td><p class="style1">Thank you for installing the
|
||||
<td><p class="style1">Thank you for installing the
|
||||
<strong> Java Development Kit @@JDK_VERSION@@ </strong>
|
||||
from Sun Microsystems. </p>
|
||||
from Oracle Corporation. </p>
|
||||
<p class="style1">Registering your product will give you the following benefits:</p>
|
||||
<ul class="style1">
|
||||
<li> Notification of new versions, patches, and updates</li>
|
||||
<li> Special offers on Sun developer products, services and training </li>
|
||||
<li> Special offers on Oracle developer products, services and training </li>
|
||||
<li> Access to early releases and documentation </li>
|
||||
</ul>
|
||||
<p class="style1">Product registration is FREE, quick and easy!</p>
|
||||
@ -68,11 +68,11 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<table width="708" border="0" cellspacing="0" cellpadding="3">
|
||||
<tr valign="top">
|
||||
<td width="126" height="35">
|
||||
<form name="form1" method="post" action="@@REGISTRATION_URL@@">
|
||||
<form name="form1" method="post" action="@@REGISTRATION_URL@@" enctype="text/xml">
|
||||
<input type="hidden" name="servicetag_payload" value="@@REGISTRATION_PAYLOAD@@">
|
||||
<input type="submit" name="Submit"border="0" class="buttonblue" onmouseover="this.style.color='#fbe249';" onmouseout="this.style.color='#FFF';" value="Register My JDK">
|
||||
</form></td>
|
||||
<td width="570"><span class="style3">You need to be connected to the Internet to register this Sun product. </span></td>
|
||||
<td width="570"><span class="style3">You need to be connected to the Internet to register this Oracle product. </span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
@ -81,16 +81,16 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td bgcolor="#f1f7df">
|
||||
<p class="style3">Sun Microsystems, Inc. respects your privacy.
|
||||
We will use your personal information for communications
|
||||
and management of your Sun Online Account, the services
|
||||
and applications you access using your Sun Online Account,
|
||||
<p class="style3">Oracle Corporation respects your privacy.
|
||||
We will use your personal information for communications
|
||||
and management of your Sun Online Account, the services
|
||||
and applications you access using your Sun Online Account,
|
||||
and the products and systems you register with your Sun Online Account.</p>
|
||||
<p class="style3">For more information on the data that will be collected as
|
||||
<p class="style3">For more information on the data that will be collected as
|
||||
part of the registration process and how it will be managed <br>
|
||||
see <a href="http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html</a>. <br>
|
||||
see <a href="http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html</a>. <br>
|
||||
<br>
|
||||
For more information on Sun's Privacy Policy see <a href="http://www.sun.com/privacy/">http://www.sun.com/privacy/</a> or contact <a class="moz-txt-link-rfc2396E" href="mailto:privacy@sun.com">privacy@sun.com.</a></p></td>
|
||||
For more information on Oracle's Privacy Policy see <a href="http://www.oracle.com/html/privacy.html">http://www.oracle.com/html/privacy.html</a> or contact <a class="moz-txt-link-rfc2396E" href="mailto:privacy_ww@oracle.com">privacy_ww@oracle.com.</a></p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
@ -50,11 +50,11 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
||||
<td><p class="style1">Sun Microsystems の<strong> Java Development Kit @@JDK_VERSION@@ </strong>をインストールしていただき、ありがとうございます。 </p>
|
||||
<td><p class="style1">Oracle Corporation の<strong> Java Development Kit @@JDK_VERSION@@ </strong>をインストールしていただき、ありがとうございます。 </p>
|
||||
<p class="style1">製品登録をすると、次のような特典を受けることができます。</p>
|
||||
<ul class="style1">
|
||||
<li> 最新のバージョン、パッチ、および更新についての通知</li>
|
||||
<li> Sun の開発者向け製品、サービス、およびトレーニングの特別販売 </li>
|
||||
<li> Oracle の開発者向け製品、サービス、およびトレーニングの特別販売 </li>
|
||||
<li> アーリーリリースおよびドキュメントへのアクセス </li>
|
||||
</ul>
|
||||
<p class="style1">製品登録は無料であり、迅速で簡単です。</p>
|
||||
@ -62,11 +62,11 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<p class="style1">必要になるのは、Sun 開発者向けネットワークアカウントまたはその他の Sun オンラインアカウントだけです。 まだアカウントがない場合は、アカウントの作成が求められます。 </p>
|
||||
<table width="708" border="0" cellspacing="0" cellpadding="3">
|
||||
<tr valign="top">
|
||||
<td width="126" height="35"><form name="form1" method="post" action="@@REGISTRATION_URL@@">
|
||||
<td width="126" height="35"><form name="form1" method="post" action="@@REGISTRATION_URL@@" enctype="text/xml">
|
||||
<input type="hidden" name="servicetag_payload" value="@@REGISTRATION_PAYLOAD@@">
|
||||
<input type="submit" name="Submit"border="0" class="buttonblue" onmouseover="this.style.color='#fbe249';" onmouseout="this.style.color='#FFF';" value="JDK 製品登録">
|
||||
</form></td>
|
||||
<td width="570"><span class="style3">この Sun 製品を登録するには、インターネットに接続している必要があります。 </span></td>
|
||||
<td width="570"><span class="style3">この Oracle 製品を登録するには、インターネットに接続している必要があります。 </span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
@ -75,8 +75,8 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td bgcolor="#f1f7df">
|
||||
<p class="style3">Sun Microsystems, Inc. は、お客様のプライバシーを尊重します。 お客様の個人情報は、お客様の Sun オンラインアカウント、お客様が Sun オンラインアカウントを使用してアクセスするサービスとアプリケーション、およびお客様が Sun オンラインアカウントで登録する製品とシステムの通信と管理に使用します。</p>
|
||||
<p class="style3">登録の際に収集されるデータや、それらがどのように管理されるかについての詳細は、<br><a href="http://java.sun.com/javase/ja/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/ja/registration/JDKRegistrationPrivacy.html</a> を参照してください。 <br> <br> Sun のプライバシーポリシーについての詳細は、<a href="http://jp.sun.com/privacy/">http://jp.sun.com/privacy/</a> を参照するか、<a class="moz-txt-link-rfc2396E" href="http://jp.sun.com/cgi-bin/contact/comment.cgi?url=http://jp.sun.com/privacy/">お問い合わせフォーム</a>からお問い合わせください。</p></td>
|
||||
<p class="style3">Oracle Corporation は、お客様のプライバシーを尊重します。 お客様の個人情報は、お客様の Sun オンラインアカウント、お客様が Sun オンラインアカウントを使用してアクセスするサービスとアプリケーション、およびお客様が Sun オンラインアカウントで登録する製品とシステムの通信と管理に使用します。</p>
|
||||
<p class="style3">登録の際に収集されるデータや、それらがどのように管理されるかについての詳細は、<br><a href="http://java.sun.com/javase/ja/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/ja/registration/JDKRegistrationPrivacy.html</a> を参照してください。 <br> <br> Oracle のプライバシーポリシーについての詳細は、<a href="http://www.oracle.com/html/privacy.html">http://www.oracle.com/html/privacy.html</a> を参照するか、<a class="moz-txt-link-rfc2396E" href="mailto:privacy_ww@oracle.com">お問い合わせフォーム</a>からお問い合わせください。</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
@ -51,11 +51,11 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
||||
<td><p class="style1">感谢您安装 Sun Microsystems 的 <strong>Java Development Kit @@JDK_VERSION@@</strong>。 </p>
|
||||
<td><p class="style1">感谢您安装 Oracle Corporation 的 <strong>Java Development Kit @@JDK_VERSION@@</strong>。 </p>
|
||||
<p class="style1">注册产品后您将获得如下增值服务:</p>
|
||||
<ul class="style1">
|
||||
<li> 获得新版本、修补程序和更新的通知服务</li>
|
||||
<li> 获得有关 Sun 开发者产品、服务和培训的优惠 </li>
|
||||
<li> 获得有关 Oracle 开发者产品、服务和培训的优惠 </li>
|
||||
<li> 获得对早期版本和文档的访问权限 </li>
|
||||
</ul>
|
||||
<p class="style1">产品注册是免费的,即快速又轻松!</p>
|
||||
@ -63,11 +63,11 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<p class="style1">您需要具有 Sun 开发者网络或其他 Sun 联机帐户。如果您没有,系统将提示您创建一个。 </p>
|
||||
<table width="708" border="0" cellspacing="0" cellpadding="3">
|
||||
<tr valign="top">
|
||||
<td width="126" height="35"><form name="form1" method="post" action="@@REGISTRATION_URL@@">
|
||||
<td width="126" height="35"><form name="form1" method="post" action="@@REGISTRATION_URL@@" enctype="text/xml">
|
||||
<input type="hidden" name="servicetag_payload" value="@@REGISTRATION_PAYLOAD@@">
|
||||
<input type="submit" name="Submit"border="0" class="buttonblue" onmouseover="this.style.color='#fbe249';" onmouseout="this.style.color='#FFF';" value="注册我的 JDK">
|
||||
</form></td>
|
||||
<td width="570"><span class="style3">您需要连接到 Internet 来注册此 Sun 产品。 </span></td>
|
||||
<td width="570"><span class="style3">您需要连接到 Internet 来注册此 Oracle 产品。 </span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</blockquote>
|
||||
@ -76,8 +76,8 @@ a:visited,a:visited code{color:#917E9C}
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td bgcolor="#f1f7df">
|
||||
<p class="style3">Sun Microsystems, Inc. 尊重您的隐私。我们会将您的个人信息用于通信和 Sun 联机帐户的管理、Sun 联机帐户访问的服务和应用程序以及用于使用 Sun 联机帐户注册的产品和系统。</p>
|
||||
<p class="style3">有关注册过程中收集的数据以及这些数据的管理方式的更多信息,<br>请访问 <a href="http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html</a>。<br> <br>有关 Sun 隐私政策的更多信息,请访问 <a href="http://www.sun.com/privacy/">http://www.sun.com/privacy/</a> 或与 <a class="moz-txt-link-rfc2396E" href="mailto:privacy@sun.com">privacy@sun.com</a> 联系。</p></td>
|
||||
<p class="style3">Oracle 尊重您的隐私。我们会将您的个人信息用于通信和 Sun 联机帐户的管理、Sun 联机帐户访问的服务和应用程序以及用于使用 Sun 联机帐户注册的产品和系统。</p>
|
||||
<p class="style3">有关注册过程中收集的数据以及这些数据的管理方式的更多信息,<br>请访问 <a href="http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html</a>。<br> <br>有关 Oracle 隐私政策的更多信息,请访问 <a href="http://www.oracle.com/html/privacy.html">http://www.oracle.com/html/privacy.html</a> 或与 <a class="moz-txt-link-rfc2396E" href="mailto:privacy_ww@oracle.com">privacy_ww@oracle.com</a> 联系。</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
|
@ -66,7 +66,7 @@ public class AssertionError extends Error {
|
||||
* defined in <i>The Java Language Specification, Second
|
||||
* Edition</i>, Section 15.18.1.1.
|
||||
*<p>
|
||||
* If the specified object is an instance of <tt>Throwable</tt>, it
|
||||
* If the specified object is an instance of {@code Throwable}, it
|
||||
* becomes the <i>cause</i> of the newly constructed assertion error.
|
||||
*
|
||||
* @param detailMessage value to be used in constructing detail message
|
||||
@ -149,4 +149,21 @@ public class AssertionError extends Error {
|
||||
public AssertionError(double detailMessage) {
|
||||
this("" + detailMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new {@code AssertionError} with the specified
|
||||
* detail message and cause.
|
||||
*
|
||||
* <p>Note that the detail message associated with
|
||||
* {@code cause} is <i>not</i> automatically incorporated in
|
||||
* this error's detail message.
|
||||
*
|
||||
* @param message the detail message, may be {@code null}
|
||||
* @param cause the cause, may be {@code null}
|
||||
*
|
||||
* @since 1.7
|
||||
*/
|
||||
public AssertionError(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
}
|
||||
|
@ -681,9 +681,9 @@ public final class Math {
|
||||
|
||||
private static Random randomNumberGenerator;
|
||||
|
||||
private static synchronized void initRNG() {
|
||||
if (randomNumberGenerator == null)
|
||||
randomNumberGenerator = new Random();
|
||||
private static synchronized Random initRNG() {
|
||||
Random rnd = randomNumberGenerator;
|
||||
return (rnd == null) ? (randomNumberGenerator = new Random()) : rnd;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -694,9 +694,11 @@ public final class Math {
|
||||
*
|
||||
* <p>When this method is first called, it creates a single new
|
||||
* pseudorandom-number generator, exactly as if by the expression
|
||||
* <blockquote>{@code new java.util.Random}</blockquote> This
|
||||
* new pseudorandom-number generator is used thereafter for all
|
||||
* calls to this method and is used nowhere else.
|
||||
*
|
||||
* <blockquote>{@code new java.util.Random()}</blockquote>
|
||||
*
|
||||
* This new pseudorandom-number generator is used thereafter for
|
||||
* all calls to this method and is used nowhere else.
|
||||
*
|
||||
* <p>This method is properly synchronized to allow correct use by
|
||||
* more than one thread. However, if many threads need to generate
|
||||
@ -705,11 +707,12 @@ public final class Math {
|
||||
*
|
||||
* @return a pseudorandom {@code double} greater than or equal
|
||||
* to {@code 0.0} and less than {@code 1.0}.
|
||||
* @see java.util.Random#nextDouble()
|
||||
* @see Random#nextDouble()
|
||||
*/
|
||||
public static double random() {
|
||||
if (randomNumberGenerator == null) initRNG();
|
||||
return randomNumberGenerator.nextDouble();
|
||||
Random rnd = randomNumberGenerator;
|
||||
if (rnd == null) rnd = initRNG();
|
||||
return rnd.nextDouble();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -418,6 +418,8 @@ public final class ProcessBuilder
|
||||
* Implements a <a href="#redirect-output">null input stream</a>.
|
||||
*/
|
||||
static class NullInputStream extends InputStream {
|
||||
static final NullInputStream INSTANCE = new NullInputStream();
|
||||
private NullInputStream() {}
|
||||
public int read() { return -1; }
|
||||
public int available() { return 0; }
|
||||
}
|
||||
@ -426,6 +428,8 @@ public final class ProcessBuilder
|
||||
* Implements a <a href="#redirect-input">null output stream</a>.
|
||||
*/
|
||||
static class NullOutputStream extends OutputStream {
|
||||
static final NullOutputStream INSTANCE = new NullOutputStream();
|
||||
private NullOutputStream() {}
|
||||
public void write(int b) throws IOException {
|
||||
throw new IOException("Stream closed");
|
||||
}
|
||||
|
@ -667,9 +667,9 @@ public final class StrictMath {
|
||||
|
||||
private static Random randomNumberGenerator;
|
||||
|
||||
private static synchronized void initRNG() {
|
||||
if (randomNumberGenerator == null)
|
||||
randomNumberGenerator = new Random();
|
||||
private static synchronized Random initRNG() {
|
||||
Random rnd = randomNumberGenerator;
|
||||
return (rnd == null) ? (randomNumberGenerator = new Random()) : rnd;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -680,9 +680,11 @@ public final class StrictMath {
|
||||
*
|
||||
* <p>When this method is first called, it creates a single new
|
||||
* pseudorandom-number generator, exactly as if by the expression
|
||||
* <blockquote>{@code new java.util.Random}</blockquote> This
|
||||
* new pseudorandom-number generator is used thereafter for all
|
||||
* calls to this method and is used nowhere else.
|
||||
*
|
||||
* <blockquote>{@code new java.util.Random()}</blockquote>
|
||||
*
|
||||
* This new pseudorandom-number generator is used thereafter for
|
||||
* all calls to this method and is used nowhere else.
|
||||
*
|
||||
* <p>This method is properly synchronized to allow correct use by
|
||||
* more than one thread. However, if many threads need to generate
|
||||
@ -691,11 +693,12 @@ public final class StrictMath {
|
||||
*
|
||||
* @return a pseudorandom {@code double} greater than or equal
|
||||
* to {@code 0.0} and less than {@code 1.0}.
|
||||
* @see java.util.Random#nextDouble()
|
||||
* @see Random#nextDouble()
|
||||
*/
|
||||
public static double random() {
|
||||
if (randomNumberGenerator == null) initRNG();
|
||||
return randomNumberGenerator.nextDouble();
|
||||
Random rnd = randomNumberGenerator;
|
||||
if (rnd == null) rnd = initRNG();
|
||||
return rnd.nextDouble();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -457,7 +457,7 @@ import java.lang.NullPointerException; // for javadoc
|
||||
* @author Mark Reinhold
|
||||
* @since 1.4
|
||||
*
|
||||
* @see <a href="http://ietf.org/rfc/rfc2279.txt"><i>RFC 2279: UTF-8, a
|
||||
* @see <a href="http://www.ietf.org/rfc/rfc2279.txt"><i>RFC 2279: UTF-8, a
|
||||
* transformation format of ISO 10646</i></a>, <br><a
|
||||
* href="http://www.ietf.org/rfc/rfc2373.txt"><i>RFC 2373: IPv6 Addressing
|
||||
* Architecture</i></a>, <br><a
|
||||
|
@ -48,7 +48,7 @@ Unicode characters.
|
||||
|
||||
<p> A <i>charset</i> is named mapping between sequences of sixteen-bit Unicode
|
||||
characters and sequences of bytes, in the sense defined in <a
|
||||
href="http://ietf.org/rfc/rfc2278.txt"><i>RFC 2278</i></a>. A
|
||||
href="http://www.ietf.org/rfc/rfc2278.txt"><i>RFC 2278</i></a>. A
|
||||
<i>decoder</i> is an engine which transforms bytes in a specific charset into
|
||||
characters, and an <i>encoder</i> is an engine which transforms characters into
|
||||
bytes. Encoders and decoders operate on byte and character buffers. They are
|
||||
|
@ -678,7 +678,7 @@ public final class Security {
|
||||
spiMap.put(type, clazz);
|
||||
return clazz;
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw (Error)new AssertionError("Spi class not found").initCause(e);
|
||||
throw new AssertionError("Spi class not found", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -463,10 +463,10 @@ public class Collections {
|
||||
* its list-iterator does not support the <tt>set</tt> operation.
|
||||
*/
|
||||
public static void shuffle(List<?> list) {
|
||||
if (r == null) {
|
||||
r = new Random();
|
||||
}
|
||||
shuffle(list, r);
|
||||
Random rnd = r;
|
||||
if (rnd == null)
|
||||
r = rnd = new Random();
|
||||
shuffle(list, rnd);
|
||||
}
|
||||
private static Random r;
|
||||
|
||||
|
@ -73,10 +73,10 @@ public class ThreadLocalRandom extends Random {
|
||||
private long rnd;
|
||||
|
||||
/**
|
||||
* Initialization flag to permit the first and only allowed call
|
||||
* to setSeed (inside Random constructor) to succeed. We can't
|
||||
* allow others since it would cause setting seed in one part of a
|
||||
* program to unintentionally impact other usages by the thread.
|
||||
* Initialization flag to permit calls to setSeed to succeed only
|
||||
* while executing the Random constructor. We can't allow others
|
||||
* since it would cause setting seed in one part of a program to
|
||||
* unintentionally impact other usages by the thread.
|
||||
*/
|
||||
boolean initialized;
|
||||
|
||||
@ -98,11 +98,10 @@ public class ThreadLocalRandom extends Random {
|
||||
|
||||
/**
|
||||
* Constructor called only by localRandom.initialValue.
|
||||
* We rely on the fact that the superclass no-arg constructor
|
||||
* invokes setSeed exactly once to initialize.
|
||||
*/
|
||||
ThreadLocalRandom() {
|
||||
super();
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -123,7 +122,6 @@ public class ThreadLocalRandom extends Random {
|
||||
public void setSeed(long seed) {
|
||||
if (initialized)
|
||||
throw new UnsupportedOperationException();
|
||||
initialized = true;
|
||||
rnd = (seed ^ multiplier) & mask;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003,2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -212,10 +212,18 @@ public abstract class Pack200 {
|
||||
* to produce a specific bytewise image for any given transmission
|
||||
* ordering of archive elements.)
|
||||
* <p>
|
||||
* In order to maintain backward compatibility, if the input JAR-files are
|
||||
* solely comprised of 1.5 (or lesser) classfiles, a 1.5 compatible
|
||||
* pack file is produced. Otherwise a 1.6 compatible pack200 file is
|
||||
* produced.
|
||||
* In order to maintain backward compatibility, the pack file's version is
|
||||
* set to accommodate the class files present in the input JAR file. In
|
||||
* other words, the pack file version will be the latest, if the class files
|
||||
* are the latest and conversely the pack file version will be the oldest
|
||||
* if the class file versions are also the oldest. For intermediate class
|
||||
* file versions the corresponding pack file version will be used.
|
||||
* For example:
|
||||
* If the input JAR-files are solely comprised of 1.5 (or lesser)
|
||||
* class files, a 1.5 compatible pack file is produced. This will also be
|
||||
* the case for archives that have no class files.
|
||||
* If the input JAR-files contains a 1.6 class file, then the pack file
|
||||
* version will be set to 1.6.
|
||||
* <p>
|
||||
* @since 1.5
|
||||
*/
|
||||
@ -236,9 +244,10 @@ public abstract class Pack200 {
|
||||
* input file to be transmitted in the segment, along with the size
|
||||
* of its name and other transmitted properties.
|
||||
* <p>
|
||||
* The default is 1000000 (a million bytes). This allows input JAR files
|
||||
* of moderate size to be transmitted in one segment. It also puts
|
||||
* a limit on memory requirements for packers and unpackers.
|
||||
* The default is -1, which means the packer will always create a single
|
||||
* segment output file. In cases where extremely large output files are
|
||||
* generated, users are strongly encouraged to use segmenting or break
|
||||
* up the input file into smaller JARs.
|
||||
* <p>
|
||||
* A 10Mb JAR packed without this limit will
|
||||
* typically pack about 10% smaller, but the packer may require
|
||||
|
@ -107,10 +107,10 @@ import java.util.StringTokenizer;
|
||||
* significant in the <code><em>url-path</em></code>.</p>
|
||||
*
|
||||
* @see <a
|
||||
* href="ftp://ftp.rfc-editor.org/in-notes/rfc2609.txt">RFC 2609,
|
||||
* href="http://www.ietf.org/rfc/rfc2609.txt">RFC 2609,
|
||||
* "Service Templates and <code>Service:</code> Schemes"</a>
|
||||
* @see <a
|
||||
* href="ftp://ftp.rfc-editor.org/in-notes/rfc3111.txt">RFC 3111,
|
||||
* href="http://www.ietf.org/rfc/rfc3111.txt">RFC 3111,
|
||||
* "Service Location Protocol Modifications for IPv6"</a>
|
||||
*
|
||||
* @since 1.5
|
||||
|
@ -42,7 +42,7 @@ import java.io.IOException;
|
||||
|
||||
/**
|
||||
* This class represents a distinguished name as specified by
|
||||
* <a href="http://ietf.org//rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* A distinguished name, or DN, is composed of an ordered list of
|
||||
* components called <em>relative distinguished name</em>s, or RDNs.
|
||||
* Details of a DN's syntax are described in RFC 2253.
|
||||
@ -115,7 +115,7 @@ public class LdapName implements Name {
|
||||
*
|
||||
* @param name This is a non-null distinguished name formatted
|
||||
* according to the rules defined in
|
||||
* <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
*
|
||||
* @throws InvalidNameException if a syntax violation is detected.
|
||||
* @see Rdn#escapeValue(Object value)
|
||||
@ -614,7 +614,7 @@ public class LdapName implements Name {
|
||||
|
||||
/**
|
||||
* Returns a string representation of this LDAP name in a format
|
||||
* defined by <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* defined by <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* and described in the class description. If the name has zero
|
||||
* components an empty string is returned.
|
||||
*
|
||||
|
@ -45,7 +45,7 @@ import java.io.IOException;
|
||||
/**
|
||||
* This class represents a relative distinguished name, or RDN, which is a
|
||||
* component of a distinguished name as specified by
|
||||
* <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* An example of an RDN is "OU=Sales+CN=J.Smith". In this example,
|
||||
* the RDN consist of multiple attribute type/value pairs. The
|
||||
* RDN is parsed as described in the class description for
|
||||
@ -117,7 +117,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
* {@link javax.naming.directory.Attributes Attributes}.
|
||||
* <p>
|
||||
* The string attribute values are not interpretted as
|
||||
* <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* formatted RDN strings. That is, the values are used
|
||||
* literally (not parsed) and assumed to be unescaped.
|
||||
*
|
||||
@ -152,7 +152,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
/**
|
||||
* Constructs an Rdn from the given string.
|
||||
* This constructor takes a string formatted according to the rules
|
||||
* defined in <a href="http://ietf.org//rfc/rfc2253.txt">RFC 2253</a>
|
||||
* defined in <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* and described in the class description for
|
||||
* {@link javax.naming.ldap.LdapName}.
|
||||
*
|
||||
@ -180,7 +180,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
* Constructs an Rdn from the given attribute type and
|
||||
* value.
|
||||
* The string attribute values are not interpretted as
|
||||
* <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* formatted RDN strings. That is, the values are used
|
||||
* literally (not parsed) and assumed to be unescaped.
|
||||
*
|
||||
@ -216,7 +216,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
/*
|
||||
* Adds the given attribute type and value to this Rdn.
|
||||
* The string attribute values are not interpretted as
|
||||
* <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>
|
||||
* formatted RDN strings. That is the values are used
|
||||
* literally (not parsed) and assumed to be unescaped.
|
||||
*
|
||||
@ -280,7 +280,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
|
||||
/**
|
||||
* Returns this Rdn as a string represented in a format defined by
|
||||
* <a href="http://ietf.org//rfc/rfc2253.txt">RFC 2253</a> and described
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a> and described
|
||||
* in the class description for {@link javax.naming.ldap.LdapName LdapName}.
|
||||
*
|
||||
* @return The string representation of the Rdn.
|
||||
@ -503,7 +503,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
/**
|
||||
* Given the value of an attribute, returns a string escaped according
|
||||
* to the rules specified in
|
||||
* <a href="http://ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>.
|
||||
* <p>
|
||||
* For example, if the val is "Sue, Grabbit and Runn", the escaped
|
||||
* value returned by this method is "Sue\, Grabbit and Runn".
|
||||
@ -582,7 +582,7 @@ public class Rdn implements Serializable, Comparable<Object> {
|
||||
/**
|
||||
* Given an attribute value string formated according to the rules
|
||||
* specified in
|
||||
* <a href="http://ietf.org//rfc/rfc2253.txt">RFC 2253</a>,
|
||||
* <a href="http://www.ietf.org/rfc/rfc2253.txt">RFC 2253</a>,
|
||||
* returns the unformated value. Escapes and quotes are
|
||||
* stripped away, and hex-encoded UTF-8 is converted to equivalent
|
||||
* UTF-16 characters. Returns a string value as a String, and a
|
||||
|
@ -160,7 +160,7 @@ public class SSLContext {
|
||||
*
|
||||
* @param protocol the standard name of the requested protocol.
|
||||
* See Appendix A in the <a href=
|
||||
* "{@docRoot}/../technotes/guides//security/jsse/JSSERefGuide.html#AppA">
|
||||
* "{@docRoot}/../technotes/guides/security/jsse/JSSERefGuide.html#AppA">
|
||||
* Java Secure Socket Extension Reference Guide </a>
|
||||
* for information about standard protocol names.
|
||||
*
|
||||
|
@ -450,7 +450,7 @@ public class DocFlavor implements Serializable, Cloneable {
|
||||
/**
|
||||
* A String representing the host operating system encoding.
|
||||
* This will follow the conventions documented in
|
||||
* <a href="http://ietf.org/rfc/rfc2278.txt">
|
||||
* <a href="http://www.ietf.org/rfc/rfc2278.txt">
|
||||
* <i>RFC 2278: IANA Charset Registration Procedures</i></a>
|
||||
* except where historical names are returned for compatibility with
|
||||
* previous versions of the Java platform.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2010, Oracle and/or its affiliates. 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
|
||||
@ -26,7 +26,6 @@ package javax.swing;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import javax.swing.JComponent;
|
||||
import javax.swing.border.*;
|
||||
|
||||
/**
|
||||
@ -74,10 +73,20 @@ public class BorderFactory
|
||||
return new LineBorder(color, thickness);
|
||||
}
|
||||
|
||||
// public static Border createLineBorder(Color color, int thickness,
|
||||
// boolean drawRounded) {
|
||||
// return new JLineBorder(color, thickness, drawRounded);
|
||||
// }
|
||||
/**
|
||||
* Creates a line border with the specified color, thickness, and corner shape.
|
||||
*
|
||||
* @param color the color of the border
|
||||
* @param thickness the thickness of the border
|
||||
* @param rounded whether or not border corners should be round
|
||||
* @return the {@code Border} object
|
||||
*
|
||||
* @see LineBorder#LineBorder(Color, int, boolean)
|
||||
* @since 1.7
|
||||
*/
|
||||
public static Border createLineBorder(Color color, int thickness, boolean rounded) {
|
||||
return new LineBorder(color, thickness, rounded);
|
||||
}
|
||||
|
||||
//// BevelBorder /////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
@ -180,7 +189,115 @@ public class BorderFactory
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//// SoftBevelBorder ///////////////////////////////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private static Border sharedSoftRaisedBevel;
|
||||
private static Border sharedSoftLoweredBevel;
|
||||
|
||||
/**
|
||||
* Creates a beveled border with a raised edge and softened corners,
|
||||
* using brighter shades of the component's current background color
|
||||
* for highlighting, and darker shading for shadows.
|
||||
* In a raised border, highlights are on top and shadows are underneath.
|
||||
*
|
||||
* @return the {@code Border} object
|
||||
*
|
||||
* @since 1.7
|
||||
*/
|
||||
public static Border createRaisedSoftBevelBorder() {
|
||||
if (sharedSoftRaisedBevel == null) {
|
||||
sharedSoftRaisedBevel = new SoftBevelBorder(BevelBorder.RAISED);
|
||||
}
|
||||
return sharedSoftRaisedBevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a beveled border with a lowered edge and softened corners,
|
||||
* using brighter shades of the component's current background color
|
||||
* for highlighting, and darker shading for shadows.
|
||||
* In a lowered border, shadows are on top and highlights are underneath.
|
||||
*
|
||||
* @return the {@code Border} object
|
||||
*
|
||||
* @since 1.7
|
||||
*/
|
||||
public static Border createLoweredSoftBevelBorder() {
|
||||
if (sharedSoftLoweredBevel == null) {
|
||||
sharedSoftLoweredBevel = new SoftBevelBorder(BevelBorder.LOWERED);
|
||||
}
|
||||
return sharedSoftLoweredBevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a beveled border of the specified type with softened corners,
|
||||
* using brighter shades of the component's current background color
|
||||
* for highlighting, and darker shading for shadows.
|
||||
* The type is either {@link BevelBorder#RAISED} or {@link BevelBorder#LOWERED}.
|
||||
*
|
||||
* @param type a type of a bevel
|
||||
* @return the {@code Border} object or {@code null}
|
||||
* if the specified type is not valid
|
||||
*
|
||||
* @see BevelBorder#BevelBorder(int)
|
||||
* @since 1.7
|
||||
*/
|
||||
public static Border createSoftBevelBorder(int type) {
|
||||
if (type == BevelBorder.RAISED) {
|
||||
return createRaisedSoftBevelBorder();
|
||||
}
|
||||
if (type == BevelBorder.LOWERED) {
|
||||
return createLoweredSoftBevelBorder();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a beveled border of the specified type with softened corners,
|
||||
* using the specified highlighting and shadowing.
|
||||
* The type is either {@link BevelBorder#RAISED} or {@link BevelBorder#LOWERED}.
|
||||
* The outer edge of the highlight area uses
|
||||
* a brighter shade of the {@code highlight} color.
|
||||
* The inner edge of the shadow area uses
|
||||
* a brighter shade of the {@code shadow} color.
|
||||
*
|
||||
* @param type a type of a bevel
|
||||
* @param highlight a basic color of the highlight area
|
||||
* @param shadow a basic color of the shadow area
|
||||
* @return the {@code Border} object
|
||||
*
|
||||
* @see BevelBorder#BevelBorder(int, Color, Color)
|
||||
* @since 1.7
|
||||
*/
|
||||
public static Border createSoftBevelBorder(int type, Color highlight, Color shadow) {
|
||||
return new BevelBorder(type, highlight, shadow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a beveled border of the specified type with softened corners,
|
||||
* using the specified colors for the inner and outer edges
|
||||
* of the highlight and the shadow areas.
|
||||
* The type is either {@link BevelBorder#RAISED} or {@link BevelBorder#LOWERED}.
|
||||
* Note: The shadow inner and outer colors are switched
|
||||
* for a lowered bevel border.
|
||||
*
|
||||
* @param type a type of a bevel
|
||||
* @param highlightOuter a color of the outer edge of the highlight area
|
||||
* @param highlightInner a color of the inner edge of the highlight area
|
||||
* @param shadowOuter a color of the outer edge of the shadow area
|
||||
* @param shadowInner a color of the inner edge of the shadow area
|
||||
* @return the {@code Border} object
|
||||
*
|
||||
* @see BevelBorder#BevelBorder(int, Color, Color, Color, Color)
|
||||
* @since 1.7
|
||||
*/
|
||||
public static Border createSoftBevelBorder(int type, Color highlightOuter, Color highlightInner, Color shadowOuter, Color shadowInner) {
|
||||
return new BevelBorder(type, highlightOuter, highlightInner, shadowOuter, shadowInner);
|
||||
}
|
||||
|
||||
//// EtchedBorder ///////////////////////////////////////////////////////////
|
||||
|
||||
static final Border sharedEtchedBorder = new EtchedBorder();
|
||||
private static Border sharedRaisedEtchedBorder;
|
||||
|
||||
|
@ -658,8 +658,7 @@ class SynthParser extends DefaultHandler {
|
||||
}
|
||||
try {
|
||||
_colorTypes.add((ColorType)checkCast(typeClass.
|
||||
getField(typeName.substring(classIndex,
|
||||
typeName.length() - classIndex)).
|
||||
getField(typeName.substring(classIndex)).
|
||||
get(typeClass), ColorType.class));
|
||||
} catch (NoSuchFieldException nsfe) {
|
||||
throw new SAXException("Unable to find color type: " +
|
||||
|
@ -363,18 +363,24 @@ public class SynthToolBarUI extends BasicToolBarUI
|
||||
SynthIcon.getIconWidth(handleIcon, context) : 0;
|
||||
Dimension compDim;
|
||||
for (int i = 0; i < tb.getComponentCount(); i++) {
|
||||
compDim = tb.getComponent(i).getMinimumSize();
|
||||
dim.width += compDim.width;
|
||||
dim.height = Math.max(dim.height, compDim.height);
|
||||
Component component = tb.getComponent(i);
|
||||
if (component.isVisible()) {
|
||||
compDim = component.getMinimumSize();
|
||||
dim.width += compDim.width;
|
||||
dim.height = Math.max(dim.height, compDim.height);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dim.height = tb.isFloatable() ?
|
||||
SynthIcon.getIconHeight(handleIcon, context) : 0;
|
||||
Dimension compDim;
|
||||
for (int i = 0; i < tb.getComponentCount(); i++) {
|
||||
compDim = tb.getComponent(i).getMinimumSize();
|
||||
dim.width = Math.max(dim.width, compDim.width);
|
||||
dim.height += compDim.height;
|
||||
Component component = tb.getComponent(i);
|
||||
if (component.isVisible()) {
|
||||
compDim = component.getMinimumSize();
|
||||
dim.width = Math.max(dim.width, compDim.width);
|
||||
dim.height += compDim.height;
|
||||
}
|
||||
}
|
||||
}
|
||||
dim.width += insets.left + insets.right;
|
||||
@ -395,18 +401,24 @@ public class SynthToolBarUI extends BasicToolBarUI
|
||||
SynthIcon.getIconWidth(handleIcon, context) : 0;
|
||||
Dimension compDim;
|
||||
for (int i = 0; i < tb.getComponentCount(); i++) {
|
||||
compDim = tb.getComponent(i).getPreferredSize();
|
||||
dim.width += compDim.width;
|
||||
dim.height = Math.max(dim.height, compDim.height);
|
||||
Component component = tb.getComponent(i);
|
||||
if (component.isVisible()) {
|
||||
compDim = component.getPreferredSize();
|
||||
dim.width += compDim.width;
|
||||
dim.height = Math.max(dim.height, compDim.height);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dim.height = tb.isFloatable() ?
|
||||
SynthIcon.getIconHeight(handleIcon, context) : 0;
|
||||
Dimension compDim;
|
||||
for (int i = 0; i < tb.getComponentCount(); i++) {
|
||||
compDim = tb.getComponent(i).getPreferredSize();
|
||||
dim.width = Math.max(dim.width, compDim.width);
|
||||
dim.height += compDim.height;
|
||||
Component component = tb.getComponent(i);
|
||||
if (component.isVisible()) {
|
||||
compDim = component.getPreferredSize();
|
||||
dim.width = Math.max(dim.width, compDim.width);
|
||||
dim.height += compDim.height;
|
||||
}
|
||||
}
|
||||
}
|
||||
dim.width += insets.left + insets.right;
|
||||
@ -469,22 +481,24 @@ public class SynthToolBarUI extends BasicToolBarUI
|
||||
|
||||
for (int i = 0; i < tb.getComponentCount(); i++) {
|
||||
c = tb.getComponent(i);
|
||||
d = c.getPreferredSize();
|
||||
int y, h;
|
||||
if (d.height >= baseH || c instanceof JSeparator) {
|
||||
// Fill available height
|
||||
y = baseY;
|
||||
h = baseH;
|
||||
} else {
|
||||
// Center component vertically in the available space
|
||||
y = baseY + (baseH / 2) - (d.height / 2);
|
||||
h = d.height;
|
||||
if (c.isVisible()) {
|
||||
d = c.getPreferredSize();
|
||||
int y, h;
|
||||
if (d.height >= baseH || c instanceof JSeparator) {
|
||||
// Fill available height
|
||||
y = baseY;
|
||||
h = baseH;
|
||||
} else {
|
||||
// Center component vertically in the available space
|
||||
y = baseY + (baseH / 2) - (d.height / 2);
|
||||
h = d.height;
|
||||
}
|
||||
//if the component is a "glue" component then add to its
|
||||
//width the extraSpacePerGlue it is due
|
||||
if (isGlue(c)) d.width += extraSpacePerGlue;
|
||||
c.setBounds(ltr ? x : x - d.width, y, d.width, h);
|
||||
x = ltr ? x + d.width : x - d.width;
|
||||
}
|
||||
//if the component is a "glue" component then add to its
|
||||
//width the extraSpacePerGlue it is due
|
||||
if (isGlue(c)) d.width += extraSpacePerGlue;
|
||||
c.setBounds(ltr ? x : x - d.width, y, d.width, h);
|
||||
x = ltr ? x + d.width : x - d.width;
|
||||
}
|
||||
} else {
|
||||
int handleHeight = tb.isFloatable() ?
|
||||
@ -512,29 +526,31 @@ public class SynthToolBarUI extends BasicToolBarUI
|
||||
|
||||
for (int i = 0; i < tb.getComponentCount(); i++) {
|
||||
c = tb.getComponent(i);
|
||||
d = c.getPreferredSize();
|
||||
int x, w;
|
||||
if (d.width >= baseW || c instanceof JSeparator) {
|
||||
// Fill available width
|
||||
x = baseX;
|
||||
w = baseW;
|
||||
} else {
|
||||
// Center component horizontally in the available space
|
||||
x = baseX + (baseW / 2) - (d.width / 2);
|
||||
w = d.width;
|
||||
if (c.isVisible()) {
|
||||
d = c.getPreferredSize();
|
||||
int x, w;
|
||||
if (d.width >= baseW || c instanceof JSeparator) {
|
||||
// Fill available width
|
||||
x = baseX;
|
||||
w = baseW;
|
||||
} else {
|
||||
// Center component horizontally in the available space
|
||||
x = baseX + (baseW / 2) - (d.width / 2);
|
||||
w = d.width;
|
||||
}
|
||||
//if the component is a "glue" component then add to its
|
||||
//height the extraSpacePerGlue it is due
|
||||
if (isGlue(c)) d.height += extraSpacePerGlue;
|
||||
c.setBounds(x, y, w, d.height);
|
||||
y += d.height;
|
||||
}
|
||||
//if the component is a "glue" component then add to its
|
||||
//height the extraSpacePerGlue it is due
|
||||
if (isGlue(c)) d.height += extraSpacePerGlue;
|
||||
c.setBounds(x, y, w, d.height);
|
||||
y += d.height;
|
||||
}
|
||||
}
|
||||
context.dispose();
|
||||
}
|
||||
|
||||
private boolean isGlue(Component c) {
|
||||
if (c instanceof Box.Filler) {
|
||||
if (c.isVisible() && c instanceof Box.Filler) {
|
||||
Box.Filler f = (Box.Filler)c;
|
||||
Dimension min = f.getMinimumSize();
|
||||
Dimension pref = f.getPreferredSize();
|
||||
|
@ -25,15 +25,12 @@
|
||||
package javax.swing.text;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Font;
|
||||
import java.awt.FontMetrics;
|
||||
import java.awt.font.TextAttribute;
|
||||
import java.lang.ref.ReferenceQueue;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.Hashtable;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Stack;
|
||||
@ -41,15 +38,14 @@ import java.util.Vector;
|
||||
import java.util.ArrayList;
|
||||
import java.io.IOException;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.Serializable;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.event.*;
|
||||
import javax.swing.undo.AbstractUndoableEdit;
|
||||
import javax.swing.undo.CannotRedoException;
|
||||
import javax.swing.undo.CannotUndoException;
|
||||
import javax.swing.undo.UndoableEdit;
|
||||
import javax.swing.SwingUtilities;
|
||||
import static sun.swing.SwingUtilities2.IMPLIED_CR;
|
||||
|
||||
/**
|
||||
* A document that can be marked up with character and paragraph
|
||||
@ -782,9 +778,18 @@ public class DefaultStyledDocument extends AbstractDocument implements StyledDoc
|
||||
// Check for the composed text element. If it is, merge the character attributes
|
||||
// into this element as well.
|
||||
if (Utilities.isComposedTextAttributeDefined(attr)) {
|
||||
((MutableAttributeSet)attr).addAttributes(cattr);
|
||||
((MutableAttributeSet)attr).addAttribute(AbstractDocument.ElementNameAttribute,
|
||||
AbstractDocument.ContentElementName);
|
||||
MutableAttributeSet mattr = (MutableAttributeSet) attr;
|
||||
mattr.addAttributes(cattr);
|
||||
mattr.addAttribute(AbstractDocument.ElementNameAttribute,
|
||||
AbstractDocument.ContentElementName);
|
||||
|
||||
// Assure that the composed text element is named properly
|
||||
// and doesn't have the CR attribute defined.
|
||||
mattr.addAttribute(StyleConstants.NameAttribute,
|
||||
AbstractDocument.ContentElementName);
|
||||
if (mattr.isDefined(IMPLIED_CR)) {
|
||||
mattr.removeAttribute(IMPLIED_CR);
|
||||
}
|
||||
}
|
||||
|
||||
ElementSpec[] spec = new ElementSpec[parseBuffer.size()];
|
||||
|
@ -32,6 +32,7 @@ import java.util.Locale;
|
||||
|
||||
import javax.swing.UIManager;
|
||||
import sun.swing.SwingUtilities2;
|
||||
import static sun.swing.SwingUtilities2.IMPLIED_CR;
|
||||
|
||||
/**
|
||||
* A GlyphView is a styled chunk of text that represents a view
|
||||
@ -1061,7 +1062,6 @@ public class GlyphView extends View implements TabableView, Cloneable {
|
||||
int length;
|
||||
// if it is an implied newline character
|
||||
boolean impliedCR;
|
||||
private static final String IMPLIED_CR = "CR";
|
||||
boolean skipWidth;
|
||||
|
||||
/**
|
||||
|
@ -403,6 +403,24 @@ public class Utilities {
|
||||
return txtCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust text offset so that the length of a resulting string as a whole
|
||||
* fits into the specified width.
|
||||
*/
|
||||
static int adjustOffsetForFractionalMetrics(
|
||||
Segment s, FontMetrics fm, int offset, int width) {
|
||||
// Sometimes the offset returned by getTabbedTextOffset is beyond the
|
||||
// available area, when fractional metrics are enabled. We should
|
||||
// guard against this.
|
||||
if (offset < s.count) {
|
||||
while (offset > 0 &&
|
||||
fm.charsWidth(s.array, s.offset, offset + 1) > width) {
|
||||
offset--;
|
||||
}
|
||||
}
|
||||
return offset;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine where to break the given text to fit
|
||||
* within the given span. This tries to find a word boundary.
|
||||
@ -425,7 +443,7 @@ public class Utilities {
|
||||
int txtCount = s.count;
|
||||
int index = Utilities.getTabbedTextOffset(s, metrics, x0, x,
|
||||
e, startOffset, false);
|
||||
|
||||
index = adjustOffsetForFractionalMetrics(s, metrics, index, x - x0);
|
||||
|
||||
if (index >= txtCount - 1) {
|
||||
return txtCount;
|
||||
|
@ -108,7 +108,7 @@ public class WrappedPlainView extends BoxView implements TabExpander {
|
||||
|
||||
try {
|
||||
if (line.isLeaf()) {
|
||||
drawText(line, p0, p1, g, x, y);
|
||||
drawText(line, p0, p1, g, x, y);
|
||||
} else {
|
||||
// this line contains the composed text.
|
||||
int idx = line.getElementIndex(p0);
|
||||
@ -239,9 +239,11 @@ public class WrappedPlainView extends BoxView implements TabExpander {
|
||||
tabBase, tabBase + currentWidth,
|
||||
this, p0);
|
||||
} else {
|
||||
p = p0 + Utilities.getTabbedTextOffset(segment, metrics,
|
||||
tabBase, tabBase + currentWidth,
|
||||
this, p0, false);
|
||||
int offset = Utilities.getTabbedTextOffset(segment, metrics,
|
||||
tabBase, tabBase + currentWidth, this, p0, false);
|
||||
offset = Utilities.adjustOffsetForFractionalMetrics(
|
||||
segment, metrics, offset, currentWidth);
|
||||
p = p0 + offset;
|
||||
}
|
||||
SegmentCache.releaseSharedSegment(segment);
|
||||
return p;
|
||||
|
@ -24,20 +24,17 @@
|
||||
*/
|
||||
package javax.swing.text.html;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.font.TextAttribute;
|
||||
import java.util.*;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.MalformedURLException;
|
||||
import java.io.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.*;
|
||||
import javax.swing.text.*;
|
||||
import javax.swing.undo.*;
|
||||
import java.text.Bidi;
|
||||
import sun.swing.SwingUtilities2;
|
||||
import static sun.swing.SwingUtilities2.IMPLIED_CR;
|
||||
|
||||
/**
|
||||
* A document that models HTML. The purpose of this model is to
|
||||
@ -1819,7 +1816,6 @@ public class HTMLDocument extends DefaultStyledDocument {
|
||||
static String MAP_PROPERTY = "__MAP__";
|
||||
|
||||
private static char[] NEWLINE;
|
||||
private static final String IMPLIED_CR = "CR";
|
||||
|
||||
/**
|
||||
* I18N property key.
|
||||
|
@ -32,7 +32,7 @@ import java.awt.image.*;
|
||||
import java.awt.Color;
|
||||
|
||||
/** PNG - Portable Network Graphics - image file reader.
|
||||
See <a href=ftp://ds.internic.net/rfc/rfc2083.txt>RFC2083</a> for details. */
|
||||
See <a href=http://www.ietf.org/rfc/rfc2083.txt>RFC2083</a> for details. */
|
||||
|
||||
/* this is changed
|
||||
public class PNGImageDecoder extends FilterInputStream implements Runnable
|
||||
|
@ -124,15 +124,15 @@ public abstract class ByteToCharISO2022 extends ByteToCharConverter
|
||||
switch(shiftFlag) {
|
||||
case SOFlag:
|
||||
tmpIndex = curSODes;
|
||||
tmpConverter = (ByteToCharConverter [])SOConverter;
|
||||
tmpConverter = SOConverter;
|
||||
break;
|
||||
case SS2Flag:
|
||||
tmpIndex = curSS2Des;
|
||||
tmpConverter = (ByteToCharConverter [])SS2Converter;
|
||||
tmpConverter = SS2Converter;
|
||||
break;
|
||||
case SS3Flag:
|
||||
tmpIndex = curSS3Des;
|
||||
tmpConverter = (ByteToCharConverter [])SS3Converter;
|
||||
tmpConverter = SS3Converter;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -141,7 +141,7 @@ public class ByteToCharISO2022JP extends ByteToCharJIS0208 {
|
||||
} else {
|
||||
savedSize = 2;
|
||||
savedBytes[0] = (byte)byte1;
|
||||
savedBytes[1] = (byte)input[readOff + inputSize];
|
||||
savedBytes[1] = input[readOff + inputSize];
|
||||
inputSize++;
|
||||
}
|
||||
break;
|
||||
|
@ -34,14 +34,12 @@ public class ByteToCharJISAutoDetect extends ByteToCharConverter {
|
||||
private final static int SJIS1B_MASK = 0x04;
|
||||
private final static int EUCJP_KANA1_MASK = 0x08;
|
||||
private final static int EUCJP_KANA2_MASK = 0x10;
|
||||
private static byte[] maskTable1;
|
||||
private static byte[] maskTable2;
|
||||
private final static byte[] maskTable1 = JISAutoDetect.getByteMask1();
|
||||
private final static byte[] maskTable2 = JISAutoDetect.getByteMask2();
|
||||
|
||||
private final static int SS2 = 0x8e;
|
||||
private final static int SS3 = 0x8f;
|
||||
|
||||
private final static JISAutoDetect nioCoder = new JISAutoDetect();
|
||||
|
||||
// SJISName is set to either "SJIS" or "MS932"
|
||||
private String SJISName;
|
||||
private String EUCJPName;
|
||||
@ -57,8 +55,6 @@ public class ByteToCharJISAutoDetect extends ByteToCharConverter {
|
||||
defaultConv = new ByteToCharISO8859_1();
|
||||
defaultConv.subChars = subChars;
|
||||
defaultConv.subMode = subMode;
|
||||
maskTable1 = nioCoder.getByteMask1();
|
||||
maskTable2 = nioCoder.getByteMask2();
|
||||
}
|
||||
|
||||
public int flush(char [] output, int outStart, int outEnd)
|
||||
@ -133,7 +129,7 @@ public class ByteToCharJISAutoDetect extends ByteToCharConverter {
|
||||
break;
|
||||
}
|
||||
if ((mask == SJIS2B_MASK) || (mask == SJIS1B_MASK)
|
||||
|| (nioCoder.canBeSJIS1B(firstmask) && secondmask == 0)) {
|
||||
|| (JISAutoDetect.canBeSJIS1B(firstmask) && secondmask == 0)) {
|
||||
convName = SJISName;
|
||||
break;
|
||||
}
|
||||
@ -145,15 +141,15 @@ public class ByteToCharJISAutoDetect extends ByteToCharConverter {
|
||||
// character boundary. If we tried both
|
||||
// possibilities here, it might be able to be
|
||||
// determined correctly.
|
||||
if ((byte1 == SS3) && nioCoder.canBeEUCJP(secondmask)) {
|
||||
if ((byte1 == SS3) && JISAutoDetect.canBeEUCJP(secondmask)) {
|
||||
if (cnt+1 < inEnd) {
|
||||
int nextbyte = input[cnt+1] & 0xff;
|
||||
if (! nioCoder.canBeEUCJP(maskTable2[nextbyte]))
|
||||
if (! JISAutoDetect.canBeEUCJP(maskTable2[nextbyte]))
|
||||
convName = SJISName;
|
||||
} else
|
||||
convName = SJISName;
|
||||
}
|
||||
if (nioCoder.canBeEUCKana(firstmask, secondmask))
|
||||
if (JISAutoDetect.canBeEUCKana(firstmask, secondmask))
|
||||
euckana++;
|
||||
} else {
|
||||
if ((firstmask & SJIS1B_MASK) != 0) {
|
||||
|
@ -66,7 +66,7 @@ public class CharToBytePCK extends CharToByteSJIS {
|
||||
|
||||
switch (ch) {
|
||||
case '\u2015':
|
||||
return (int)0x815C;
|
||||
return 0x815C;
|
||||
case '\u2014':
|
||||
return 0;
|
||||
default:
|
||||
|
@ -1,5 +1,2 @@
|
||||
# Jules Rendering Engine module
|
||||
sun.java2d.jules.JulesRenderingEngine
|
||||
|
||||
# Pisces Rendering Engine module
|
||||
sun.java2d.pisces.PiscesRenderingEngine
|
||||
sun.java2d.pisces.PiscesRenderingEngine
|
||||
|
@ -171,10 +171,9 @@ public class DatagramSocketAdaptor
|
||||
|
||||
// Must hold dc.blockingLock()
|
||||
//
|
||||
private void receive(ByteBuffer bb) throws IOException {
|
||||
private SocketAddress receive(ByteBuffer bb) throws IOException {
|
||||
if (timeout == 0) {
|
||||
dc.receive(bb);
|
||||
return;
|
||||
return dc.receive(bb);
|
||||
}
|
||||
|
||||
// Implement timeout with a selector
|
||||
@ -183,8 +182,9 @@ public class DatagramSocketAdaptor
|
||||
dc.configureBlocking(false);
|
||||
try {
|
||||
int n;
|
||||
if (dc.receive(bb) != null)
|
||||
return;
|
||||
SocketAddress sender;
|
||||
if ((sender = dc.receive(bb)) != null)
|
||||
return sender;
|
||||
sel = Util.getTemporarySelector(dc);
|
||||
sk = dc.register(sel, SelectionKey.OP_READ);
|
||||
long to = timeout;
|
||||
@ -194,8 +194,8 @@ public class DatagramSocketAdaptor
|
||||
long st = System.currentTimeMillis();
|
||||
int ns = sel.select(to);
|
||||
if (ns > 0 && sk.isReadable()) {
|
||||
if (dc.receive(bb) != null)
|
||||
return;
|
||||
if ((sender = dc.receive(bb)) != null)
|
||||
return sender;
|
||||
}
|
||||
sel.selectedKeys().remove(sk);
|
||||
to -= System.currentTimeMillis() - st;
|
||||
@ -222,7 +222,8 @@ public class DatagramSocketAdaptor
|
||||
ByteBuffer bb = ByteBuffer.wrap(p.getData(),
|
||||
p.getOffset(),
|
||||
p.getLength());
|
||||
receive(bb);
|
||||
SocketAddress sender = receive(bb);
|
||||
p.setSocketAddress(sender);
|
||||
p.setLength(bb.position() - p.getOffset());
|
||||
}
|
||||
} catch (IOException x) {
|
||||
|
@ -144,11 +144,7 @@ public class ServerSocketAdaptor // package-private
|
||||
}
|
||||
|
||||
public void close() throws IOException {
|
||||
try {
|
||||
ssc.close();
|
||||
} catch (Exception x) {
|
||||
Net.translateException(x);
|
||||
}
|
||||
ssc.close();
|
||||
}
|
||||
|
||||
public ServerSocketChannel getChannel() {
|
||||
|
@ -404,11 +404,7 @@ public class SocketAdaptor
|
||||
}
|
||||
|
||||
public void close() throws IOException {
|
||||
try {
|
||||
sc.close();
|
||||
} catch (Exception x) {
|
||||
Net.translateToSocketException(x);
|
||||
}
|
||||
sc.close();
|
||||
}
|
||||
|
||||
public void shutdownInput() throws IOException {
|
||||
|
@ -103,7 +103,7 @@ public class DoubleByte {
|
||||
public final static char[] B2C_UNMAPPABLE;
|
||||
static {
|
||||
B2C_UNMAPPABLE = new char[0x100];
|
||||
Arrays.fill(B2C_UNMAPPABLE, (char)UNMAPPABLE_DECODING);
|
||||
Arrays.fill(B2C_UNMAPPABLE, UNMAPPABLE_DECODING);
|
||||
}
|
||||
|
||||
public static class Decoder extends CharsetDecoder
|
||||
@ -374,7 +374,7 @@ public class DoubleByte {
|
||||
static final char[] b2cSB;
|
||||
static {
|
||||
b2cSB = new char[0x100];
|
||||
Arrays.fill(b2cSB, (char)UNMAPPABLE_DECODING);
|
||||
Arrays.fill(b2cSB, UNMAPPABLE_DECODING);
|
||||
}
|
||||
Decoder_EBCDIC_DBCSONLY(Charset cs, char[][] b2c, int b2Min, int b2Max) {
|
||||
super(cs, 0.5f, 1.0f, b2c, b2cSB, b2Min, b2Max);
|
||||
|
@ -79,8 +79,10 @@ public class EUC_JP
|
||||
JIS_X_0201.Decoder decoderJ0201;
|
||||
JIS_X_0212_Decoder decoderJ0212;
|
||||
|
||||
short[] j0208Index1;
|
||||
String[] j0208Index2;
|
||||
private static final short[] j0208Index1 =
|
||||
JIS_X_0208_Decoder.getIndex1();
|
||||
private static final String[] j0208Index2 =
|
||||
JIS_X_0208_Decoder.getIndex2();
|
||||
|
||||
protected Decoder(Charset cs) {
|
||||
super(cs);
|
||||
@ -88,8 +90,6 @@ public class EUC_JP
|
||||
decoderJ0212 = new JIS_X_0212_Decoder(cs);
|
||||
start = 0xa1;
|
||||
end = 0xfe;
|
||||
j0208Index1 = super.getIndex1();
|
||||
j0208Index2 = super.getIndex2();
|
||||
}
|
||||
protected char decode0212(int byte1, int byte2) {
|
||||
return decoderJ0212.decodeDouble(byte1, byte2);
|
||||
@ -238,8 +238,10 @@ public class EUC_JP
|
||||
JIS_X_0201.Encoder encoderJ0201;
|
||||
JIS_X_0212_Encoder encoderJ0212;
|
||||
|
||||
short[] j0208Index1;
|
||||
String[] j0208Index2;
|
||||
private static final short[] j0208Index1 =
|
||||
JIS_X_0208_Encoder.getIndex1();
|
||||
private static final String[] j0208Index2 =
|
||||
JIS_X_0208_Encoder.getIndex2();
|
||||
|
||||
private final Surrogate.Parser sgp = new Surrogate.Parser();
|
||||
|
||||
@ -247,8 +249,6 @@ public class EUC_JP
|
||||
super(cs, 3.0f, 3.0f);
|
||||
encoderJ0201 = new JIS_X_0201.Encoder(cs);
|
||||
encoderJ0212 = new JIS_X_0212_Encoder(cs);
|
||||
j0208Index1 = super.getIndex1();
|
||||
j0208Index2 = super.getIndex2();
|
||||
}
|
||||
|
||||
public boolean canEncode(char c) {
|
||||
|
@ -65,20 +65,18 @@ public class EUC_JP_LINUX
|
||||
|
||||
private static class Decoder extends CharsetDecoder {
|
||||
JIS_X_0201.Decoder decoderJ0201;
|
||||
JIS_X_0208_Decoder decodeMappingJ0208;
|
||||
protected final char REPLACE_CHAR='\uFFFD';
|
||||
|
||||
short[] jis0208Index1;
|
||||
String[] jis0208Index2;
|
||||
private static final int start = 0xa1;
|
||||
private static final int end = 0xfe;
|
||||
private static final short[] jis0208Index1 =
|
||||
JIS_X_0208_Decoder.getIndex1();
|
||||
private static final String[] jis0208Index2 =
|
||||
JIS_X_0208_Decoder.getIndex2();
|
||||
|
||||
private Decoder(Charset cs) {
|
||||
super(cs, 1.0f, 1.0f);
|
||||
decoderJ0201 = new JIS_X_0201.Decoder(cs);
|
||||
decodeMappingJ0208 = new JIS_X_0208_Decoder(cs);
|
||||
decodeMappingJ0208.start = 0xa1;
|
||||
decodeMappingJ0208.end = 0xfe;
|
||||
jis0208Index1 = decodeMappingJ0208.getIndex1();
|
||||
jis0208Index2 = decodeMappingJ0208.getIndex2();
|
||||
}
|
||||
|
||||
protected char convSingleByte(int b) {
|
||||
@ -93,11 +91,11 @@ public class EUC_JP_LINUX
|
||||
}
|
||||
|
||||
if (((byte1 < 0) || (byte1 > jis0208Index1.length))
|
||||
|| ((byte2 < decodeMappingJ0208.start) || (byte2 > decodeMappingJ0208.end)))
|
||||
|| ((byte2 < start) || (byte2 > end)))
|
||||
return REPLACE_CHAR;
|
||||
|
||||
int n = (jis0208Index1[byte1 - 0x80] & 0xf) * (decodeMappingJ0208.end - decodeMappingJ0208.start + 1)
|
||||
+ (byte2 - decodeMappingJ0208.start);
|
||||
int n = (jis0208Index1[byte1 - 0x80] & 0xf) * (end - start + 1)
|
||||
+ (byte2 - start);
|
||||
return jis0208Index2[jis0208Index1[byte1 - 0x80] >> 4].charAt(n);
|
||||
}
|
||||
|
||||
@ -213,18 +211,16 @@ public class EUC_JP_LINUX
|
||||
private static class Encoder extends CharsetEncoder {
|
||||
|
||||
JIS_X_0201.Encoder encoderJ0201;
|
||||
JIS_X_0208_Encoder encoderJ0208;
|
||||
|
||||
private final Surrogate.Parser sgp = new Surrogate.Parser();
|
||||
short[] jis0208Index1;
|
||||
String[] jis0208Index2;
|
||||
private static final short[] jis0208Index1 =
|
||||
JIS_X_0208_Encoder.getIndex1();
|
||||
private static final String[] jis0208Index2 =
|
||||
JIS_X_0208_Encoder.getIndex2();
|
||||
|
||||
private Encoder(Charset cs) {
|
||||
super(cs, 2.0f, 2.0f);
|
||||
encoderJ0201 = new JIS_X_0201.Encoder(cs);
|
||||
encoderJ0208 = new JIS_X_0208_Encoder(cs);
|
||||
jis0208Index1 = encoderJ0208.getIndex1();
|
||||
jis0208Index2 = encoderJ0208.getIndex2();
|
||||
}
|
||||
|
||||
public boolean canEncode(char c) {
|
||||
|
@ -75,8 +75,12 @@ public class EUC_JP_Open
|
||||
JIS_X_0212_Solaris_Decoder decodeMappingJ0212;
|
||||
JIS_X_0208_Solaris_Decoder decodeMappingJ0208;
|
||||
|
||||
short[] j0208Index1;
|
||||
String[] j0208Index2;
|
||||
private static final short[] j0208Index1 =
|
||||
JIS_X_0208_Solaris_Decoder.getIndex1();
|
||||
private static final String[] j0208Index2 =
|
||||
JIS_X_0208_Solaris_Decoder.getIndex2();
|
||||
private static final int start = 0xa1;
|
||||
private static final int end = 0xfe;
|
||||
|
||||
protected final char REPLACE_CHAR='\uFFFD';
|
||||
|
||||
@ -84,11 +88,6 @@ public class EUC_JP_Open
|
||||
super(cs);
|
||||
decoderJ0201 = new JIS_X_0201.Decoder(cs);
|
||||
decodeMappingJ0212 = new JIS_X_0212_Solaris_Decoder(cs);
|
||||
decodeMappingJ0208 = new JIS_X_0208_Solaris_Decoder(cs);
|
||||
decodeMappingJ0208.start = 0xa1;
|
||||
decodeMappingJ0208.end = 0xfe;
|
||||
j0208Index1 = decodeMappingJ0208.getIndex1();
|
||||
j0208Index2 = decodeMappingJ0208.getIndex2();
|
||||
}
|
||||
|
||||
|
||||
@ -103,9 +102,9 @@ public class EUC_JP_Open
|
||||
}
|
||||
|
||||
if (((byte1 < 0)
|
||||
|| (byte1 > decodeMappingJ0208.getIndex1().length))
|
||||
|| ((byte2 < decodeMappingJ0208.start)
|
||||
|| (byte2 > decodeMappingJ0208.end)))
|
||||
|| (byte1 > j0208Index1.length))
|
||||
|| ((byte2 < start)
|
||||
|| (byte2 > end)))
|
||||
return REPLACE_CHAR;
|
||||
|
||||
char result = super.decodeDouble(byte1, byte2);
|
||||
@ -113,8 +112,8 @@ public class EUC_JP_Open
|
||||
return result;
|
||||
} else {
|
||||
int n = (j0208Index1[byte1 - 0x80] & 0xf) *
|
||||
(decodeMappingJ0208.end - decodeMappingJ0208.start + 1)
|
||||
+ (byte2 - decodeMappingJ0208.start);
|
||||
(end - start + 1)
|
||||
+ (byte2 - start);
|
||||
return j0208Index2[j0208Index1[byte1 - 0x80] >> 4].charAt(n);
|
||||
}
|
||||
}
|
||||
@ -125,10 +124,11 @@ public class EUC_JP_Open
|
||||
|
||||
JIS_X_0201.Encoder encoderJ0201;
|
||||
JIS_X_0212_Solaris_Encoder encoderJ0212;
|
||||
JIS_X_0208_Solaris_Encoder encoderJ0208;
|
||||
|
||||
short[] j0208Index1;
|
||||
String[] j0208Index2;
|
||||
private static final short[] j0208Index1 =
|
||||
JIS_X_0208_Solaris_Encoder.getIndex1();
|
||||
private static final String[] j0208Index2 =
|
||||
JIS_X_0208_Solaris_Encoder.getIndex2();
|
||||
|
||||
private final Surrogate.Parser sgp = new Surrogate.Parser();
|
||||
|
||||
@ -136,9 +136,6 @@ public class EUC_JP_Open
|
||||
super(cs);
|
||||
encoderJ0201 = new JIS_X_0201.Encoder(cs);
|
||||
encoderJ0212 = new JIS_X_0212_Solaris_Encoder(cs);
|
||||
encoderJ0208 = new JIS_X_0208_Solaris_Encoder(cs);
|
||||
j0208Index1 = encoderJ0208.getIndex1();
|
||||
j0208Index2 = encoderJ0208.getIndex2();
|
||||
}
|
||||
|
||||
protected int encodeSingle(char inputChar, byte[] outputByte) {
|
||||
|
@ -423,7 +423,7 @@ public class EUC_TW extends Charset implements HistoricallyNamedCharset
|
||||
if (dst.remaining() < outSize)
|
||||
return CoderResult.OVERFLOW;
|
||||
for (int i = 0; i < outSize; i++)
|
||||
dst.put((byte)bb[i]);
|
||||
dst.put(bb[i]);
|
||||
mark += inSize;
|
||||
}
|
||||
return CoderResult.UNDERFLOW;
|
||||
|
@ -12339,7 +12339,7 @@ public class GB18030
|
||||
int start = 0x40, end = 0xFE;
|
||||
if (((byte1 < 0) || (byte1 > index1.length))
|
||||
|| ((byte2 < start) || (byte2 > end)))
|
||||
return (char)'\uFFFD';
|
||||
return '\uFFFD';
|
||||
|
||||
int n = (index1[byte1] & 0xf) * (end - start + 1) + (byte2 - start);
|
||||
return index2[index1[byte1] >> 4].charAt(n);
|
||||
|
@ -43,7 +43,7 @@ public class HKSCS {
|
||||
|
||||
private char[][] b2cBmp;
|
||||
private char[][] b2cSupp;
|
||||
private static DoubleByte.Decoder big5Dec;
|
||||
private DoubleByte.Decoder big5Dec;
|
||||
|
||||
protected Decoder(Charset cs,
|
||||
DoubleByte.Decoder big5Dec,
|
||||
@ -355,7 +355,7 @@ public class HKSCS {
|
||||
c2b[hi] = new char[0x100];
|
||||
Arrays.fill(c2b[hi], (char)UNMAPPABLE_ENCODING);
|
||||
}
|
||||
c2b[hi][c & 0xff] = (char)bb;
|
||||
c2b[hi][c & 0xff] = bb;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
|
@ -104,15 +104,15 @@ abstract class ISO2022
|
||||
switch(shiftFlag) {
|
||||
case SOFlag:
|
||||
tmpIndex = curSODes;
|
||||
tmpDecoder = (CharsetDecoder [])SODecoder;
|
||||
tmpDecoder = SODecoder;
|
||||
break;
|
||||
case SS2Flag:
|
||||
tmpIndex = curSS2Des;
|
||||
tmpDecoder = (CharsetDecoder [])SS2Decoder;
|
||||
tmpDecoder = SS2Decoder;
|
||||
break;
|
||||
case SS3Flag:
|
||||
tmpIndex = curSS3Des;
|
||||
tmpDecoder = (CharsetDecoder [])SS3Decoder;
|
||||
tmpDecoder = SS3Decoder;
|
||||
break;
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user