1.1 --- a/make/sun/javazic/tzdata/VERSION Thu Apr 22 16:54:34 2010 -0700
1.2 +++ b/make/sun/javazic/tzdata/VERSION Thu Apr 29 13:53:09 2010 -0700
1.3 @@ -21,4 +21,4 @@
1.4 # CA 95054 USA or visit www.sun.com if you need additional information or
1.5 # have any questions.
1.6 #
1.7 -tzdata2010g
1.8 +tzdata2010i
2.1 --- a/make/sun/javazic/tzdata/africa Thu Apr 22 16:54:34 2010 -0700
2.2 +++ b/make/sun/javazic/tzdata/africa Thu Apr 29 13:53:09 2010 -0700
2.3 @@ -702,6 +702,21 @@
2.4 # http://www.worldtimezone.com/dst_news/dst_news_morocco03.html
2.5 # </a>
2.6
2.7 +# From Steffen Thorsen (2010-04-13):
2.8 +# Several news media in Morocco report that the Ministry of Modernization
2.9 +# of Public Sectors has announced that Morocco will have DST from
2.10 +# 2010-05-02 to 2010-08-08.
2.11 +#
2.12 +# Example:
2.13 +# <a href="http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html">
2.14 +# http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html
2.15 +# </a>
2.16 +# (French)
2.17 +# Our page:
2.18 +# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html">
2.19 +# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html
2.20 +# </a>
2.21 +
2.22 # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
2.23
2.24 Rule Morocco 1939 only - Sep 12 0:00 1:00 S
2.25 @@ -723,6 +738,8 @@
2.26 Rule Morocco 2008 only - Sep 1 0:00 0 -
2.27 Rule Morocco 2009 only - Jun 1 0:00 1:00 S
2.28 Rule Morocco 2009 only - Aug 21 0:00 0 -
2.29 +Rule Morocco 2010 only - May 2 0:00 1:00 S
2.30 +Rule Morocco 2010 only - Aug 8 0:00 0 -
2.31 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
2.32 Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
2.33 0:00 Morocco WE%sT 1984 Mar 16
2.34 @@ -964,6 +981,24 @@
2.35 # Therefore, the standard time will be kept unchanged the whole year long."
2.36 # So foregoing DST seems to be an exception (albeit one that may be repeated in the future).
2.37
2.38 +# From Alexander Krivenyshev (2010-03-27):
2.39 +# According to some news reports Tunis confirmed not to use DST in 2010
2.40 +#
2.41 +# (translation):
2.42 +# "The Tunisian government has decided to abandon DST, which was scheduled on
2.43 +# Sunday...
2.44 +# Tunisian authorities had suspended the DST for the first time last year also
2.45 +# coincided with the month of Ramadan..."
2.46 +#
2.47 +# (in Arabic)
2.48 +# <a href="http://www.moheet.com/show_news.aspx?nid=358861&pg=1">
2.49 +# http://www.moheet.com/show_news.aspx?nid=358861&pg=1
2.50 +# <a href="http://www.almadenahnews.com/newss/news.php?c=118&id=38036">
2.51 +# http://www.almadenahnews.com/newss/news.php?c=118&id=38036
2.52 +# or
2.53 +# <a href="http://www.worldtimezone.com/dst_news/dst_news_tunis02.html">
2.54 +# http://www.worldtimezone.com/dst_news/dst_news_tunis02.html
2.55 +
2.56 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
2.57 Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S
2.58 Rule Tunisia 1939 only - Nov 18 23:00s 0 -
2.59 @@ -990,8 +1025,7 @@
2.60 Rule Tunisia 2005 only - Sep 30 1:00s 0 -
2.61 Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
2.62 Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
2.63 -Rule Tunisia 2010 max - Mar lastSun 2:00s 1:00 S
2.64 -Rule Tunisia 2010 max - Oct lastSun 2:00s 0 -
2.65 +
2.66 # Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
2.67 # more precise 0:09:21.
2.68 # Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
3.1 --- a/make/sun/javazic/tzdata/asia Thu Apr 22 16:54:34 2010 -0700
3.2 +++ b/make/sun/javazic/tzdata/asia Thu Apr 29 13:53:09 2010 -0700
3.3 @@ -588,6 +588,28 @@
3.4 # was still controlled by Japan. This is hard to believe, but we don't
3.5 # have any other information.
3.6
3.7 +# From smallufo (2010-04-03):
3.8 +# According to Taiwan's CWB,
3.9 +# <a href="http://www.cwb.gov.tw/V6/astronomy/cdata/summert.htm">
3.10 +# http://www.cwb.gov.tw/V6/astronomy/cdata/summert.htm
3.11 +# </a>
3.12 +# Taipei has DST in 1979 between July 1st and Sep 30.
3.13 +
3.14 +# From Arthur David Olson (2010-04-07):
3.15 +# Here's Google's translation of the table at the bottom of the "summert.htm" page:
3.16 +# Decade Name Start and end date
3.17 +# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time May 1 to September 30
3.18 +# 41 years of the Republic of China (AD 1952) Daylight Saving Time March 1 to October 31
3.19 +# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time April 1 to October 31
3.20 +# In the 44 years to 45 years (AD 1955-1956 years) Daylight Saving Time April 1 to September 30
3.21 +# Republic of China 46 years to 48 years (AD 1957-1959) Summer Time April 1 to September 30
3.22 +# Republic of China 49 years to 50 years (AD 1960-1961) Summer Time June 1 to September 30
3.23 +# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time
3.24 +# Republic of China 63 years to 64 years (1974-1975 AD) Daylight Saving Time April 1 to September 30
3.25 +# Republic of China 65 years to 67 years (1976-1978 AD) Stop Daylight Saving Time
3.26 +# Republic of China 68 years (AD 1979) Daylight Saving Time July 1 to September 30
3.27 +# Republic of China since 69 years (AD 1980) Stop Daylight Saving Time
3.28 +
3.29 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
3.30 Rule Taiwan 1945 1951 - May 1 0:00 1:00 D
3.31 Rule Taiwan 1945 1951 - Oct 1 0:00 0 S
3.32 @@ -598,8 +620,9 @@
3.33 Rule Taiwan 1960 1961 - Jun 1 0:00 1:00 D
3.34 Rule Taiwan 1974 1975 - Apr 1 0:00 1:00 D
3.35 Rule Taiwan 1974 1975 - Oct 1 0:00 0 S
3.36 -Rule Taiwan 1980 only - Jun 30 0:00 1:00 D
3.37 -Rule Taiwan 1980 only - Sep 30 0:00 0 S
3.38 +Rule Taiwan 1979 only - Jun 30 0:00 1:00 D
3.39 +Rule Taiwan 1979 only - Sep 30 0:00 0 S
3.40 +
3.41 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
3.42 Zone Asia/Taipei 8:06:00 - LMT 1896 # or Taibei or T'ai-pei
3.43 8:00 Taiwan C%sT
3.44 @@ -1934,13 +1957,35 @@
3.45 # [T]he German Consulate General in Karachi reported me today that Pakistan
3.46 # will go back to standard time on 1st of November.
3.47
3.48 +# From Steffen Thorsen (2010-03-26):
3.49 +# Steffen Thorsen wrote:
3.50 +# > On Thursday (2010-03-25) it was announced that DST would start in
3.51 +# > Pakistan on 2010-04-01.
3.52 +# >
3.53 +# > Then today, the president said that they might have to revert the
3.54 +# > decision if it is not supported by the parliament. So at the time
3.55 +# > being, it seems unclear if DST will be actually observed or not - but
3.56 +# > April 1 could be a more likely date than April 15.
3.57 +# Now, it seems that the decision to not observe DST in final:
3.58 +#
3.59 +# "Govt Withdraws Plan To Advance Clocks"
3.60 +# <a href="http://www.apakistannews.com/govt-withdraws-plan-to-advance-clocks-172041">
3.61 +# http://www.apakistannews.com/govt-withdraws-plan-to-advance-clocks-172041
3.62 +# </a>
3.63 +#
3.64 +# "People laud PM's announcement to end DST"
3.65 +# <a href="http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2">
3.66 +# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2
3.67 +# </a>
3.68 +
3.69 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
3.70 Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S
3.71 Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 -
3.72 Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
3.73 Rule Pakistan 2008 only - Nov 1 0:00 0 -
3.74 -Rule Pakistan 2009 max - Apr 15 0:00 1:00 S
3.75 -Rule Pakistan 2009 max - Nov 1 0:00 0 -
3.76 +Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
3.77 +Rule Pakistan 2009 only - Nov 1 0:00 0 -
3.78 +
3.79 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
3.80 Zone Asia/Karachi 4:28:12 - LMT 1907
3.81 5:30 - IST 1942 Sep
4.1 --- a/make/sun/javazic/tzdata/southamerica Thu Apr 22 16:54:34 2010 -0700
4.2 +++ b/make/sun/javazic/tzdata/southamerica Thu Apr 29 13:53:09 2010 -0700
4.3 @@ -459,6 +459,27 @@
4.4 # of the country calls it "ART".
4.5 # ...
4.6
4.7 +# From Alexander Krivenyshev (2010-04-09):
4.8 +# According to news reports from El Diario de la Republica Province San
4.9 +# Luis, Argentina (standard time UTC-04) will keep Daylight Saving Time
4.10 +# after April 11, 2010--will continue to have same time as rest of
4.11 +# Argentina (UTC-3) (no DST).
4.12 +#
4.13 +# Confirmaron la prórroga del huso horario de verano (Spanish)
4.14 +# <a href="http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9">
4.15 +# http://www.eldiariodelarepublica.com/index.php?option=com_content&task=view&id=29383&Itemid=9
4.16 +# </a>
4.17 +# or (some English translation):
4.18 +# <a href="http://www.worldtimezone.com/dst_news/dst_news_argentina08.html">
4.19 +# http://www.worldtimezone.com/dst_news/dst_news_argentina08.html
4.20 +# </a>
4.21 +
4.22 +# From Mariano Absatz (2010-04-12):
4.23 +# yes...I can confirm this...and given that San Luis keeps calling
4.24 +# UTC-03:00 "summer time", we should't just let San Luis go back to "Arg"
4.25 +# rules...San Luis is still using "Western ARgentina Time" and it got
4.26 +# stuck on Summer daylight savings time even though the summer is over.
4.27 +
4.28 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
4.29 #
4.30 # Buenos Aires (BA), Capital Federal (CF),
4.31 @@ -592,8 +613,8 @@
4.32 #
4.33 # San Luis (SL)
4.34
4.35 -Rule SanLuis 2008 max - Mar Sun>=8 0:00 0 -
4.36 -Rule SanLuis 2007 max - Oct Sun>=8 0:00 1:00 S
4.37 +Rule SanLuis 2008 2009 - Mar Sun>=8 0:00 0 -
4.38 +Rule SanLuis 2007 2009 - Oct Sun>=8 0:00 1:00 S
4.39
4.40 Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31
4.41 -4:16:48 - CMT 1920 May
5.1 --- a/make/sun/launcher/Makefile Thu Apr 22 16:54:34 2010 -0700
5.2 +++ b/make/sun/launcher/Makefile Thu Apr 29 13:53:09 2010 -0700
5.3 @@ -38,7 +38,7 @@
5.4 # Resources
5.5 #
5.6 LOCALE_SET_DEFINITION = jre
5.7 -NEW_RESOURCE_BUNDLES_COMPILED_PROPERTIES = $(PKGDIR)/resources/launcher.properties
5.8 +RESOURCE_BUNDLES_COMPILED_PROPERTIES = $(PKGDIR)/resources/launcher.properties
5.9
5.10 #
5.11 # Rules
6.1 --- a/make/tools/CharsetMapping/Big5.c2b Thu Apr 22 16:54:34 2010 -0700
6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
6.3 @@ -1,8 +0,0 @@
6.4 -#Add the following 5 characters which are duplicated
6.5 -#or have conflicts with other characters.
6.6 -0xA1C4 0xFF3F #REGWARN Fallback 0xA1C4 SPACING UNDERSCORE
6.7 -0xA2AC 0x2571 #REGWARN Fallback 0xA2AC LT DIAG UP RIGHT TO LOW LEFT
6.8 -0xA2AD 0x2572 #REGWARN Fallback 0xA2AD LT DIAG UP LEFT TO LOW RIGHT
6.9 -0xA451 0x5341 #REGWARN Fallback 0xA451 HANGZHOU NUMERAL TEN
6.10 -0xA4CA 0x5345 #REGWARN Fallback 0xA4CA HANGZHOU NUMERAL THIRTY
6.11 -#
7.1 --- a/make/tools/CharsetMapping/Big5.map Thu Apr 22 16:54:34 2010 -0700
7.2 +++ b/make/tools/CharsetMapping/Big5.map Thu Apr 29 13:53:09 2010 -0700
7.3 @@ -13830,8 +13830,21 @@
7.4 0xF9D4 0x9F49 # <CJK>
7.5 0xF9D5 0x9F98 # <CJK>
7.6 #
7.7 +# from Big5.b2c-irreversible
7.8 +#
7.9 0xA15A 0xFF3F #SPACING UNDERSCORE
7.10 0xA1FE 0x2571 #LT DIAG UP RIGHT TO LOW LEFT
7.11 0xA240 0x2572 #LT DIAG UP LEFT TO LOW RIGHTG
7.12 0xA2CC 0x5341 #HANGHZOU NUMERAL TEN
7.13 0xA2CE 0x5345 #HANGZHOU NUMERAL THIRTY
7.14 +#
7.15 +# Add the following 5 characters from Big5.c2b-irreversible
7.16 +# It appears these 5 should be here to be the round-trip
7.17 +# for these 5 characters. Above 5 are the b->c only nrt.
7.18 +#
7.19 +0xA1C4 0xFF3F
7.20 +0xA2AC 0x2571
7.21 +0xA2AD 0x2572
7.22 +0xA451 0x5341
7.23 +0xA4CA 0x5345
7.24 +#
8.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties Thu Apr 22 16:54:34 2010 -0700
8.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties Thu Apr 29 13:53:09 2010 -0700
8.3 @@ -1,5 +1,5 @@
8.4 #
8.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
8.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
8.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8.8 #
8.9 # This code is free software; you can redistribute it and/or modify it
8.10 @@ -41,7 +41,7 @@
8.11 cachedrowsetimpl.longfail = getLong bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
8.12 cachedrowsetimpl.floatfail = getFloat bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
8.13 cachedrowsetimpl.doublefail = getDouble bei Wert ( {0} ) in Spalte {1} fehlgeschlagen
8.14 -cachedrowsetimpl.dtypemismt = Keine Datentyp\u00fcbereinstimmung
8.15 +cachedrowsetimpl.dtypemismt = Keine Datentyp\u00fcbereinstimmung
8.16 cachedrowsetimpl.datefail = getDate bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich
8.17 cachedrowsetimpl.timefail = getTime bei Wert ( {0} ) in Spalte {1} fehlgeschlagen; keine Konvertierung m\u00f6glich
8.18 cachedrowsetimpl.posupdate = Positionierte Aktualisierungen werden nicht unterst\u00fctzt
8.19 @@ -71,11 +71,13 @@
8.20 cachedrowsetimpl.unsetmatch2 = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden
8.21 cachedrowsetimpl.numrows = Zeilenanzahl ist kleiner als Null oder kleiner als Abrufgr\u00f6\u00dfe
8.22 cachedrowsetimpl.startpos = Startposition darf keinen Negativwert aufweisen
8.23 -cachedrowsetimpl.nextpage = Daten m\u00fcssen vor dem Abrufen ausgef\u00fcllt werden
8.24 +cachedrowsetimpl.nextpage = Daten m\u00fcssen vor dem Abrufen ausgef\u00fcllt werden
8.25 cachedrowsetimpl.pagesize = Seitengr\u00f6\u00dfe darf nicht kleiner als Null sein
8.26 cachedrowsetimpl.pagesize1 = Seitengr\u00f6\u00dfe darf nicht gr\u00f6\u00dfer als maxRows sein
8.27 cachedrowsetimpl.fwdonly = ResultSet kann nur vorw\u00e4rts gerichtet sein
8.28 cachedrowsetimpl.type = Typ : {0}
8.29 +cachedrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt
8.30 +cachedrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt
8.31
8.32 # WebRowSetImpl exceptions
8.33 webrowsetimpl.nullhash = Instanz WebRowSetImpl konnte nicht instanziiert werden. Hash-Tabelle mit Nullwert f\u00fcr Konstruktor angegeben
8.34 @@ -83,7 +85,7 @@
8.35 webrowsetimpl.invalidrd = Ung\u00fcltiger Leser
8.36
8.37 #FilteredRowSetImpl exceptions
8.38 -filteredrowsetimpl.relative = relative: Ung\u00fcltiger Cursorvorgang
8.39 +filteredrowsetimpl.relative = relative: Ung\u00fcltiger Cursorvorgang
8.40 filteredrowsetimpl.absolute = absolute: Ung\u00fcltiger Cursorvorgang
8.41 filteredrowsetimpl.notallowed = Kein zul\u00e4ssiger Wert im Filter
8.42
8.43 @@ -95,6 +97,7 @@
8.44 joinrowsetimpl.notsupported = Verkn\u00fcpfungstyp wird nicht unterst\u00fctzt
8.45 joinrowsetimpl.initerror = Initialisierungsfehler bei JoinRowSet
8.46 joinrowsetimpl.genericerr = Generischer Anfangsfehler bei joinrowset
8.47 +joinrowsetimpl.emptyrowset = Leeres Rowset kann nicht zu JoinRowSet hinzugef\u00fcgt werden
8.48
8.49 #JdbcRowSetImpl exceptions
8.50 jdbcrowsetimpl.invalstate = Ung\u00fcltiger Status
8.51 @@ -108,22 +111,28 @@
8.52 jdbcrowsetimpl.usecolname = Spaltenname als Argument f\u00fcr unsetMatchColumn verwenden
8.53 jdbcrowsetimpl.usecolid = Spalten-ID als Argument f\u00fcr unsetMatchColumn verwenden
8.54 jdbcrowsetimpl.resnotupd = ResultSet kann nicht aktualisiert werden
8.55 +jdbcrowsetimpl.opnotysupp = Vorgang noch nicht unterst\u00fctzt
8.56 +jdbcrowsetimpl.featnotsupp = Funktion nicht unterst\u00fctzt
8.57
8.58 #CachedRowSetReader exceptions
8.59 crsreader.connect = (JNDI) Verbindung nicht m\u00f6glich
8.60 crsreader.paramtype = Parametertyp konnte nicht abgeleitet werden
8.61 +crsreader.connecterr = Interner Fehler im RowSetReader: keine Verbindung oder kein Befehl
8.62 +crsreader.datedetected = Datum gefunden
8.63 +crsreader.caldetected = Kalender gefunden
8.64
8.65 #CachedRowSetWriter exceptions
8.66 crswriter.connect = Verbindung konnte nicht hergestellt werden
8.67 crswriter.tname = writeData kann Tabellennamen nicht feststellen
8.68 crswriter.params1 = Wert f\u00fcr params1: {0}
8.69 crswriter.params2 = Wert f\u00fcr params2: {0}
8.70 +crswriter.conflictsno = Konflikte w\u00e4hrend der Synchronisation
8.71
8.72 #InsertRow exceptions
8.73 insertrow.novalue = Es wurde kein Wert eingef\u00fcgt
8.74
8.75 #SyncResolverImpl exceptions
8.76 -syncrsimpl.indexval = Indexwert liegt au\u00dferhalb des Bereichs
8.77 +syncrsimpl.indexval = Indexwert liegt au\u00dferhalb des Bereichs
8.78 syncrsimpl.noconflict = Kein Konflikt bei dieser Spalte
8.79 syncrsimpl.syncnotpos = Keine Synchronisation m\u00f6glich
8.80 syncrsimpl.valtores = Aufzul\u00f6sender Wert befindet sich entweder in der Datenbank oder in cachedrowset
8.81 @@ -132,31 +141,27 @@
8.82 wrsxmlreader.invalidcp = Ende von RowSet wurde erreicht. Ung\u00fcltige Cursorposition
8.83 wrsxmlreader.readxml = readXML: {0}
8.84 wrsxmlreader.parseerr = ** Parsing-Fehler
8.85 -wrsxmlreader.line = , Zeile
8.86 -wrsxmlreader.uri = , uri
8.87
8.88 #WebRowSetXmlWriter exceptions
8.89 wrsxmlwriter.ioex = IOException: {0}
8.90 -wrsxmlwriter.sqlex = SQLException: {0}
8.91 +wrsxmlwriter.sqlex = SQLException: {0}
8.92 wrsxmlwriter.failedwrite = Schreiben des Werts fehlgeschlagen
8.93 wsrxmlwriter.notproper = Kein zul\u00e4ssiger Typ
8.94
8.95 -#XmlReaderContentHandle exceptions
8.96 -xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0}
8.97 -xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0}
8.98 +#XmlReaderContentHandler exceptions
8.99 +xmlrch.errmap = Fehler beim Definieren der Zuordnung: {0}
8.100 +xmlrch.errmetadata = Fehler beim Definieren der Metadaten: {0}
8.101 xmlrch.errinsert = Fehler beim Einf\u00fcgen der Werte: {0}
8.102 xmlrch.errconstr = Fehler beim Erstellen der Zeile: {0}
8.103 xmlrch.errdel = Fehler beim L\u00f6schen der Zeile: {0}
8.104 xmlrch.errinsert = Fehler beim Erstellen der Einf\u00fcgezeile: {0}
8.105 xmlrch.errinsdel = Fehler beim Erstellen der Einf\u00fcge- oder L\u00f6schzeile: {0}
8.106 xmlrch.errupdate = Fehler beim Erstellen der Aktualisierungszeile: {0}
8.107 -xmlrch errupdrow = Fehler beim Aktualisieren der Zeile: {0}
8.108 +xmlrch.errupdrow = Fehler beim Aktualisieren der Zeile : {0}
8.109 xmlrch.chars = Zeichen:
8.110 xmlrch.badvalue = Fehlerhafter Wert; Eigenschaft darf nicht Null sein.
8.111 xmlrch.badvalue1 = Fehlerhafter Wert; Metadaten d\u00fcrfen nicht Null sein.
8.112 -xmlrch.warning = ** Warnung
8.113 -xmlrch.line = , Zeile
8.114 -xmlrch.uri = , uri
8.115 +xmlrch.warning = ** Warnung
8.116
8.117 #RIOptimisticProvider Exceptions
8.118 riop.locking = Sperren der Klassifizierung wird nicht unterst\u00fctzt
9.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties Thu Apr 22 16:54:34 2010 -0700
9.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties Thu Apr 29 13:53:09 2010 -0700
9.3 @@ -1,5 +1,5 @@
9.4 #
9.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
9.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
9.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9.8 #
9.9 # This code is free software; you can redistribute it and/or modify it
9.10 @@ -32,7 +32,7 @@
9.11 cachedrowsetimpl.invalidcp = Posici\u00f3n de cursor no v\u00e1lida
9.12 cachedrowsetimpl.illegalop = Operaci\u00f3n no permitida en fila no insertada
9.13 cachedrowsetimpl.clonefail = Fallo en la clonaci\u00f3n: {0}
9.14 -cachedrowsetimpl.invalidcol = \u00cdndice de columna no v\u00e1lido
9.15 +cachedrowsetimpl.invalidcol = \u00cdndice de columnas no v\u00e1lido
9.16 cachedrowsetimpl.invalcolnm = Nombre de columna no v\u00e1lido
9.17 cachedrowsetimpl.boolfail = Fallo de getBoolen en valor ( {0} ) de columna {1}
9.18 cachedrowsetimpl.bytefail = Fallo de getByte en valor ( {0} ) de columna {1}
9.19 @@ -41,7 +41,7 @@
9.20 cachedrowsetimpl.longfail = Fallo de getLong en valor ( {0} ) de columna {1}
9.21 cachedrowsetimpl.floatfail = Fallo de getFloat en valor ( {0} ) de columna {1}
9.22 cachedrowsetimpl.doublefail = Fallo de getDouble en valor ( {0} ) de columna {1}
9.23 -cachedrowsetimpl.dtypemismt = Discordancia entre tipos de datos
9.24 +cachedrowsetimpl.dtypemismt = Discordancia entre tipos de datos
9.25 cachedrowsetimpl.datefail = Fallo de getDate en valor ( {0} ) de columna {1} no es posible convertir
9.26 cachedrowsetimpl.timefail = Fallo de getTime en valor ( {0} ) de columna {1} no es posible convertir
9.27 cachedrowsetimpl.posupdate = Actualizaciones posicionadas incompatibles
9.28 @@ -71,11 +71,13 @@
9.29 cachedrowsetimpl.unsetmatch2 = Usar ID de columna como argumento en unsetMatchColumn
9.30 cachedrowsetimpl.numrows = El n\u00famero de filas es menor que cero o menor que el tama\u00f1o obtenido
9.31 cachedrowsetimpl.startpos = La posici\u00f3n de inicio no puede ser negativa
9.32 -cachedrowsetimpl.nextpage = Rellenar datos antes de realizar llamada
9.33 +cachedrowsetimpl.nextpage = Rellenar datos antes de realizar llamada
9.34 cachedrowsetimpl.pagesize = El tama\u00f1o de p\u00e1gina no puede ser menor que cero
9.35 cachedrowsetimpl.pagesize1 = El tama\u00f1o de p\u00e1gina no puede ser mayor que maxRows
9.36 cachedrowsetimpl.fwdonly = ResultSet s\u00f3lo se reenv\u00eda
9.37 cachedrowsetimpl.type = El tipo es: {0}
9.38 +cachedrowsetimpl.opnotysupp = Operaci\u00f3n a\u00fan no admitida
9.39 +cachedrowsetimpl.featnotsupp = Funci\u00f3n no admitida
9.40
9.41 # WebRowSetImpl exceptions
9.42 webrowsetimpl.nullhash = La instancia WebRowSetImpl no se puede crear. Hashtable nula proporcionada al constructor
9.43 @@ -83,7 +85,7 @@
9.44 webrowsetimpl.invalidrd = Lector no v\u00e1lido
9.45
9.46 #FilteredRowSetImpl exceptions
9.47 -filteredrowsetimpl.relative = relative: Operaci\u00f3n de cursor no v\u00e1lida
9.48 +filteredrowsetimpl.relative = relative: Operaci\u00f3n de cursor no v\u00e1lida
9.49 filteredrowsetimpl.absolute = absolute: Operaci\u00f3n de cursor no v\u00e1lida
9.50 filteredrowsetimpl.notallowed = El filtro no admite este valor
9.51
9.52 @@ -95,6 +97,7 @@
9.53 joinrowsetimpl.notsupported = Este tipo de uni\u00f3n no es compatible
9.54 joinrowsetimpl.initerror = Error de inicio de JoinRowSet
9.55 joinrowsetimpl.genericerr = Error de Genric joinrowset intial
9.56 +joinrowsetimpl.emptyrowset = No se puede a\u00f1adir un rowset vac\u00edo a este JoinRowSet
9.57
9.58 #JdbcRowSetImpl exceptions
9.59 jdbcrowsetimpl.invalstate = Estado no v\u00e1lido
9.60 @@ -108,22 +111,28 @@
9.61 jdbcrowsetimpl.usecolname = Usar nombre de columna como argumento en unsetMatchColumn
9.62 jdbcrowsetimpl.usecolid = Usar ID de columna como argumento en unsetMatchColumn
9.63 jdbcrowsetimpl.resnotupd = ResultSet no se puede actualizar
9.64 +jdbcrowsetimpl.opnotysupp = Operaci\u00f3n a\u00fan no admitida
9.65 +jdbcrowsetimpl.featnotsupp = Funci\u00f3n no admitida
9.66
9.67 #CachedRowSetReader exceptions
9.68 crsreader.connect = (JNDI) No se puede conectar
9.69 crsreader.paramtype = No se puede deducir tipo de par\u00e1metro
9.70 +crsreader.connecterr = Error interno en RowSetReader: no hay conexi\u00f3n ni comando
9.71 +crsreader.datedetected = Fecha detectada
9.72 +crsreader.caldetected = Calendario detectado
9.73
9.74 #CachedRowSetWriter exceptions
9.75 crswriter.connect = No se puede obtener una conexi\u00f3n
9.76 crswriter.tname = writeData no puede determinar el nombre de tabla
9.77 crswriter.params1 = Valor de params1: {0}
9.78 crswriter.params2 = Valor de params2: {0}
9.79 +crswriter.conflictsno = conflictos en la sincronizaci\u00f3n
9.80
9.81 #InsertRow exceptions
9.82 insertrow.novalue = No se ha insertado ning\u00fan valor
9.83
9.84 #SyncResolverImpl exceptions
9.85 -syncrsimpl.indexval = El valor de \u00edndice est\u00e1 fuera del intervalo
9.86 +syncrsimpl.indexval = El valor de \u00edndice est\u00e1 fuera del intervalo
9.87 syncrsimpl.noconflict = Esta columna no est\u00e1 en conflicto
9.88 syncrsimpl.syncnotpos = No se puede sincronizar
9.89 syncrsimpl.valtores = El valor que se debe definir puede estar en la base de datos o en cachedrowset
9.90 @@ -132,31 +141,27 @@
9.91 wrsxmlreader.invalidcp = Se ha llegado al final de RowSet. Posici\u00f3n de cursor no v\u00e1lida
9.92 wrsxmlreader.readxml = readXML: {0}
9.93 wrsxmlreader.parseerr = ** Error de an\u00e1lisis
9.94 -wrsxmlreader.line = , l\u00ednea
9.95 -wrsxmlreader.uri = , uri
9.96
9.97 #WebRowSetXmlWriter exceptions
9.98 wrsxmlwriter.ioex = IOException: {0}
9.99 -wrsxmlwriter.sqlex = SQLException: {0}
9.100 +wrsxmlwriter.sqlex = SQLException: {0}
9.101 wrsxmlwriter.failedwrite = No se pudo escribir valor
9.102 wsrxmlwriter.notproper = Tipo incorrecto
9.103
9.104 -#XmlReaderContentHandle exceptions
9.105 -xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0}
9.106 -xmlrch.errmetadata = Error al configurar metadatos: {0}
9.107 -xmlrch.errinsert = Error al insertar valores: {0}
9.108 +#XmlReaderContentHandler exceptions
9.109 +xmlrch.errmap = Error al configurar la asignaci\u00f3n: {0}
9.110 +xmlrch.errmetadata = Error al configurar metadatos: {0}
9.111 +xmlrch.errinsert = Error al insertar los valores: {0}
9.112 xmlrch.errconstr = Error al construir fila: {0}
9.113 xmlrch.errdel = Error al borrar fila: {0}
9.114 xmlrch.errinsert = Error al construir insertar fila: {0}
9.115 xmlrch.errinsdel = Error al construir insertar o suprimir fila: {0}
9.116 xmlrch.errupdate = Error al construir actualizar fila: {0}
9.117 -xmlrch errupdrow = Error al actualizar fila: {0}
9.118 +xmlrch.errupdrow = Error al actualizar la fila: {0}
9.119 xmlrch.chars = caracteres:
9.120 xmlrch.badvalue = Valor incorrecto; la propiedad no puede ser nula
9.121 xmlrch.badvalue1 = Valor incorrecto; los metadatos no pueden ser nulos
9.122 -xmlrch.warning = ** Advertencia
9.123 -xmlrch.line = , l\u00ednea
9.124 -xmlrch.uri = , uri
9.125 +xmlrch.warning = ** Advertencia
9.126
9.127 #RIOptimisticProvider Exceptions
9.128 riop.locking = No se permite bloquear la clasificaci\u00f3n
10.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties Thu Apr 22 16:54:34 2010 -0700
10.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties Thu Apr 29 13:53:09 2010 -0700
10.3 @@ -1,5 +1,5 @@
10.4 #
10.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
10.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
10.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
10.8 #
10.9 # This code is free software; you can redistribute it and/or modify it
10.10 @@ -31,7 +31,7 @@
10.11 cachedrowsetimpl.accfailed = \u00c9chec de acceptChanges
10.12 cachedrowsetimpl.invalidcp = Position du curseur non valide
10.13 cachedrowsetimpl.illegalop = Op\u00e9ration non autoris\u00e9e sur ligne non ins\u00e9r\u00e9e
10.14 -cachedrowsetimpl.clonefail = \u00c9chec du clonage :
10.15 +cachedrowsetimpl.clonefail = \u00c9chec du clonage : {0}
10.16 cachedrowsetimpl.invalidcol = Index de colonne non valide
10.17 cachedrowsetimpl.invalcolnm = Nom de colonne non valide
10.18 cachedrowsetimpl.boolfail = \u00c9chec de getBoolen pour la valeur ({0}) de la colonne {1}
10.19 @@ -41,11 +41,11 @@
10.20 cachedrowsetimpl.longfail = \u00c9chec de getLong pour la valeur ({0}) de la colonne {1}
10.21 cachedrowsetimpl.floatfail = \u00c9chec de getFloat pour la valeur ({0}) de la colonne {1}
10.22 cachedrowsetimpl.doublefail = \u00c9chec de getDouble pour la valeur ({0}) de la colonne {1}
10.23 -cachedrowsetimpl.dtypemismt = Le type de donn\u00e9es ne correspond pas
10.24 +cachedrowsetimpl.dtypemismt = Le type de donn\u00e9es ne correspond pas
10.25 cachedrowsetimpl.datefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
10.26 cachedrowsetimpl.timefail = \u00c9chec de getDate pour la valeur ({0}) de la colonne {1} - Aucune conversion possible
10.27 cachedrowsetimpl.posupdate = Mises \u00e0 jour choisies non prises en charge
10.28 -cachedrowsetimpl.unableins = Instanciation impossible :
10.29 +cachedrowsetimpl.unableins = Instanciation impossible : {0}
10.30 cachedrowsetimpl.beforefirst = beforeFirst : op\u00e9ration de curseur non valide
10.31 cachedrowsetimpl.first = First : op\u00e9ration de curseur non valide
10.32 cachedrowsetimpl.last = last : TYPE_FORWARD_ONLY
10.33 @@ -75,7 +75,9 @@
10.34 cachedrowsetimpl.pagesize = La taille de la page ne peut pas \u00eatre n\u00e9gative
10.35 cachedrowsetimpl.pagesize1 = La taille de la page ne peut pas \u00eatre sup\u00e9rieure \u00e0 maxRows
10.36 cachedrowsetimpl.fwdonly = ResultSet est en avant seulement
10.37 -cachedrowsetimpl.type = Le type est :
10.38 +cachedrowsetimpl.type = Le type est : {0}
10.39 +cachedrowsetimpl.opnotysupp = Op\u00e9ration encore non prise en charge
10.40 +cachedrowsetimpl.featnotsupp = Fonction non prise en charge
10.41
10.42 # WebRowSetImpl exceptions
10.43 webrowsetimpl.nullhash = Impossible de cr\u00e9er une instance de WebRowSetImpl. Table de hachage null fournie au constructeur
10.44 @@ -83,7 +85,7 @@
10.45 webrowsetimpl.invalidrd = Lecteur non valide
10.46
10.47 #FilteredRowSetImpl exceptions
10.48 -filteredrowsetimpl.relative = relative : op\u00e9ration de curseur non valide
10.49 +filteredrowsetimpl.relative = relative : op\u00e9ration de curseur non valide
10.50 filteredrowsetimpl.absolute = absolute : op\u00e9ration de curseur non valide
10.51 filteredrowsetimpl.notallowed = Cette valeur n'est pas autoris\u00e9e via le filtre
10.52
10.53 @@ -95,6 +97,7 @@
10.54 joinrowsetimpl.notsupported = Ce type de jointure n'est pas pris en charge
10.55 joinrowsetimpl.initerror = Erreur d'initialisation de JoinRowSet
10.56 joinrowsetimpl.genericerr = Erreur initiale g\u00e9n\u00e9rique de JoinRowSet
10.57 +joinrowsetimpl.emptyrowset = Impossible d'ajouter un ensemble de lignes vide \u00e0 ce JoinRowSet
10.58
10.59 #JdbcRowSetImpl exceptions
10.60 jdbcrowsetimpl.invalstate = \u00c9tat non valide
10.61 @@ -108,55 +111,57 @@
10.62 jdbcrowsetimpl.usecolname = Utilisez le nom de la colonne en argument de unsetMatchColumn
10.63 jdbcrowsetimpl.usecolid = Utilisez l'ID de la colonne en argument de unsetMatchColumn
10.64 jdbcrowsetimpl.resnotupd = La mise \u00e0 jour de ResultSet est interdite
10.65 +jdbcrowsetimpl.opnotysupp = Op\u00e9ration encore non prise en charge
10.66 +jdbcrowsetimpl.featnotsupp = Fonction non prise en charge
10.67
10.68 #CachedRowSetReader exceptions
10.69 crsreader.connect = Impossible de connecter (JNDI)
10.70 crsreader.paramtype = Impossible de d\u00e9duire le type de param\u00e8tre
10.71 +crsreader.connecterr = Erreur interne dans RowSetReader\u00a0: aucune connexion ou commande
10.72 +crsreader.datedetected = Date d\u00e9tect\u00e9e
10.73 +crsreader.caldetected = Calendrier d\u00e9tect\u00e9
10.74
10.75 #CachedRowSetWriter exceptions
10.76 crswriter.connect = Impossible d'obtenir la connexion
10.77 crswriter.tname = writeData ne peut pas d\u00e9terminer le nom du tableau
10.78 -crswriter.params1 = Valeur de params1 :
10.79 -crswriter.params2 = Valeur de params2 :
10.80 +crswriter.params1 = Valeur de params1 : {0}
10.81 +crswriter.params2 = Valeur de params2 : {0}
10.82 +crswriter.conflictsno = Conflits au cours de la synchronisation
10.83
10.84 #InsertRow exceptions
10.85 insertrow.novalue = Aucune valeur n'a \u00e9t\u00e9 ins\u00e9r\u00e9e
10.86
10.87 #SyncResolverImpl exceptions
10.88 -syncrsimpl.indexval = Valeur d'index hors plage
10.89 +syncrsimpl.indexval = Valeur d'index hors plage
10.90 syncrsimpl.noconflict = Cette colonne n'est pas en conflit
10.91 syncrsimpl.syncnotpos = La synchronisation est impossible
10.92 syncrsimpl.valtores = La valeur \u00e0 r\u00e9soudre peut \u00eatre soit dans la base de donn\u00e9es soit dans CachedrowSet
10.93
10.94 #WebRowSetXmlReader exception
10.95 wrsxmlreader.invalidcp = Fin de RowSet atteinte. Position de curseur non valide
10.96 -wrsxmlreader.readxml = readXML :
10.97 +wrsxmlreader.readxml = readXML : {0}
10.98 wrsxmlreader.parseerr = ** Erreur d'analyse
10.99 -wrsxmlreader.line = , ligne
10.100 -wrsxmlreader.uri = , uri
10.101
10.102 #WebRowSetXmlWriter exceptions
10.103 -wrsxmlwriter.ioex = IOException :
10.104 -wrsxmlwriter.sqlex = SQLException :
10.105 +wrsxmlwriter.ioex = IOException : {0}
10.106 +wrsxmlwriter.sqlex = SQLException : {0}
10.107 wrsxmlwriter.failedwrite = \u00c9chec d'\u00e9criture de la valeur
10.108 wsrxmlwriter.notproper = N'est pas un type correct
10.109
10.110 -#XmlReaderContentHandle exceptions
10.111 -xmlrch.errmap = Erreur lors de la d\u00e9finition de Map :
10.112 -xmlrch.errmetadata = Erreur lors de la d\u00e9finition des m\u00e9tadonn\u00e9es :
10.113 -xmlrch.errinsert = Erreur lors de l'insertion des valeurs :
10.114 -xmlrch.errconstr = Erreur lors de la construction de la ligne :
10.115 -xmlrch.errdel = Erreur lors de la suppression de la ligne :
10.116 -xmlrch.errinsert = Erreur lors de la construction de la ligne \u00e0 ins\u00e9rer :
10.117 -xmlrch.errinsdel = Erreur lors de la construction de la ligne insdel :
10.118 -xmlrch.errupdate = Erreur lors de la construction de la ligne \u00e0 mettre \u00e0 jour :
10.119 -xmlrch errupdrow = Erreur lors de la mise \u00e0 jour de la ligne :
10.120 +#XmlReaderContentHandler exceptions
10.121 +xmlrch.errmap = Erreur lors de la d\u00e9finition de Map : {0}
10.122 +xmlrch.errmetadata = Erreur lors de la d\u00e9finition des m\u00e9tadonn\u00e9es : {0}
10.123 +xmlrch.errinsert = Erreur lors de l''insertion des valeurs : {0}
10.124 +xmlrch.errconstr = Erreur lors de la construction de la ligne : {0}
10.125 +xmlrch.errdel = Erreur lors de la suppression de la ligne : {0}
10.126 +xmlrch.errinsert = Erreur lors de la construction de la ligne \u00e0 ins\u00e9rer : {0}
10.127 +xmlrch.errinsdel = Erreur lors de la construction de la ligne insdel : {0}
10.128 +xmlrch.errupdate = Erreur lors de la construction de la ligne \u00e0 mettre \u00e0 jour : {0}
10.129 +xmlrch.errupdrow = Erreur lors de la mise \u00e0 jour de la ligne\u00a0: {0}
10.130 xmlrch.chars = caract\u00e8res :
10.131 xmlrch.badvalue = Valeur incorrecte ; null impossible pour cette propri\u00e9t\u00e9
10.132 xmlrch.badvalue1 = Valeur incorrecte ; null impossible pour ces m\u00e9tadonn\u00e9es
10.133 -xmlrch.warning = ** Avertissement
10.134 -xmlrch.line = , ligne
10.135 -xmlrch.uri = , uri
10.136 +xmlrch.warning = ** Avertissement
10.137
10.138 #RIOptimisticProvider Exceptions
10.139 riop.locking = Le verrouillage de la classification n'est pas pris en charge
11.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties Thu Apr 22 16:54:34 2010 -0700
11.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties Thu Apr 29 13:53:09 2010 -0700
11.3 @@ -1,5 +1,5 @@
11.4 #
11.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
11.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
11.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
11.8 #
11.9 # This code is free software; you can redistribute it and/or modify it
11.10 @@ -41,7 +41,7 @@
11.11 cachedrowsetimpl.longfail = getLong non riuscito per il valore ( {0} ) nella colonna {1}
11.12 cachedrowsetimpl.floatfail = getFloat non riuscito per il valore ( {0} ) nella colonna {1}
11.13 cachedrowsetimpl.doublefail = getDouble non riuscito per il valore ( {0} ) nella colonna {1}
11.14 -cachedrowsetimpl.dtypemismt = Mancata corrispondenza dei tipi di dati
11.15 +cachedrowsetimpl.dtypemismt = Mancata corrispondenza dei tipi di dati
11.16 cachedrowsetimpl.datefail = getDate non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile.
11.17 cachedrowsetimpl.timefail = getTime non riuscito per il valore ( {0} ) nella colonna {1}. Nessuna conversione disponibile.
11.18 cachedrowsetimpl.posupdate = Aggiornamenti posizionati non supportati
11.19 @@ -76,6 +76,8 @@
11.20 cachedrowsetimpl.pagesize1 = La dimensione della pagina non pu\u00f2 essere superiore a maxRows
11.21 cachedrowsetimpl.fwdonly = ResultSet \u00e8 a solo inoltro
11.22 cachedrowsetimpl.type = Il tipo \u00e8: {0}
11.23 +cachedrowsetimpl.opnotysupp = Operazione non ancora supportata
11.24 +cachedrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
11.25
11.26 # WebRowSetImpl exceptions
11.27 webrowsetimpl.nullhash = Impossibile istanziare l'istanza WebRowSetImpl. Tabella hash nulla fornita al costruttore
11.28 @@ -83,7 +85,7 @@
11.29 webrowsetimpl.invalidrd = Lettore non valido
11.30
11.31 #FilteredRowSetImpl exceptions
11.32 -filteredrowsetimpl.relative = relative: operazione cursore non valida
11.33 +filteredrowsetimpl.relative = relative: operazione cursore non valida
11.34 filteredrowsetimpl.absolute = absolute: operazione cursore non valida
11.35 filteredrowsetimpl.notallowed = Questo valore non \u00e8 consentito nel filtro
11.36
11.37 @@ -95,6 +97,7 @@
11.38 joinrowsetimpl.notsupported = Questo tipo di unione non \u00e8 supportato
11.39 joinrowsetimpl.initerror = Errore di inizializzazione di JoinRowSet
11.40 joinrowsetimpl.genericerr = Errore iniziale di joinrowset generico
11.41 +joinrowsetimpl.emptyrowset = Impossibile aggiungere un rowset al JoinRowSet corrente
11.42
11.43 #JdbcRowSetImpl exceptions
11.44 jdbcrowsetimpl.invalstate = Stato non valido
11.45 @@ -108,22 +111,28 @@
11.46 jdbcrowsetimpl.usecolname = Utilizzare il nome di colonna come argomento per unsetMatchColumn
11.47 jdbcrowsetimpl.usecolid = Utilizzare l'ID di colonna come argomento per unsetMatchColumn
11.48 jdbcrowsetimpl.resnotupd = ResultSet non \u00e8 aggiornabile
11.49 +jdbcrowsetimpl.opnotysupp = Operazione non ancora supportata
11.50 +jdbcrowsetimpl.featnotsupp = Funzionalit\u00e0 non supportata
11.51
11.52 #CachedRowSetReader exceptions
11.53 crsreader.connect = (JNDI) Impossibile stabilire una connessione
11.54 crsreader.paramtype = Impossibile dedurre il tipo di parametro
11.55 +crsreader.connecterr = Errore interno in RowSetReader: nessuna connessione o comando disponibile
11.56 +crsreader.datedetected = Data rilevata
11.57 +crsreader.caldetected = Calendario rilevato
11.58
11.59 #CachedRowSetWriter exceptions
11.60 crswriter.connect = Impossibile stabilire una connessione
11.61 crswriter.tname = writeData non riesce a determinare il nome di tabella
11.62 crswriter.params1 = Valore dei parametri 1: {0}
11.63 crswriter.params2 = Valore dei parametri 2: {0}
11.64 +crswriter.conflictsno = conflitti durante la sincronizzazione
11.65
11.66 #InsertRow exceptions
11.67 insertrow.novalue = Non \u00e8 stato inserito alcun valore
11.68
11.69 #SyncResolverImpl exceptions
11.70 -syncrsimpl.indexval = Il valore di indice non rientra nell'intervallo
11.71 +syncrsimpl.indexval = Il valore di indice non rientra nell'intervallo
11.72 syncrsimpl.noconflict = Questa colonna non \u00e8 in conflitto
11.73 syncrsimpl.syncnotpos = Impossibile eseguire la sincronizzazione
11.74 syncrsimpl.valtores = Il valore da risolvere pu\u00f2 essere nel database o in cachedrowset
11.75 @@ -132,31 +141,27 @@
11.76 wrsxmlreader.invalidcp = Raggiunta la fine di RowSet. Posizione cursore non valida
11.77 wrsxmlreader.readxml = readXML: {0}
11.78 wrsxmlreader.parseerr = ** Errore di analisi
11.79 -wrsxmlreader.line = , linea
11.80 -wrsxmlreader.uri = , uri
11.81
11.82 #WebRowSetXmlWriter exceptions
11.83 wrsxmlwriter.ioex = IOException: {0}
11.84 -wrsxmlwriter.sqlex = SQLException: {0}
11.85 +wrsxmlwriter.sqlex = SQLException: {0}
11.86 wrsxmlwriter.failedwrite = Impossibile scrivere il valore
11.87 wsrxmlwriter.notproper = Non un tipo corretto
11.88
11.89 -#XmlReaderContentHandle exceptions
11.90 -xmlrch.errmap = Errore durante l'impostazione della mappa: {0}
11.91 -xmlrch.errmetadata = Errore durante l'impostazione dei metadati: {0}
11.92 -xmlrch.errinsert = Errore durante l'inserimento dei valori: {0}
11.93 +#XmlReaderContentHandler exceptions
11.94 +xmlrch.errmap = Errore durante l''impostazione della mappa: {0}
11.95 +xmlrch.errmetadata = Errore durante l'impostazione dei metadati: {0}
11.96 +xmlrch.errinsert = Errore durante l''inserimento dei valori: {0}
11.97 xmlrch.errconstr = Errore durante la costruzione della riga: {0}
11.98 -xmlrch.errdel = Errore durante l'eliminazione della riga: {0}
11.99 +xmlrch.errdel = Errore durante l''eliminazione della riga: {0}
11.100 xmlrch.errinsert = Errore durante la costruzione della riga di inserimento: {0}
11.101 xmlrch.errinsdel = Errore durante la costruzione della riga insdel: {0}
11.102 xmlrch.errupdate = Errore durante la costruzione della riga di aggiornamento: {0}
11.103 -xmlrch errupdrow = Errore durante l'aggiornamento della riga: {0}
11.104 +xmlrch.errupdrow = Errore durante l''aggiornamento della riga: {0}
11.105 xmlrch.chars = caratteri:
11.106 xmlrch.badvalue = valore non valido; propriet\u00e0 non annullabile
11.107 xmlrch.badvalue1 = valore non valido; metadati non annullabili
11.108 -xmlrch.warning = ** Avviso
11.109 -xmlrch.line = , linea
11.110 -xmlrch.uri = , uri
11.111 +xmlrch.warning = ** Avviso
11.112
11.113 #RIOptimisticProvider Exceptions
11.114 riop.locking = La classificazione di blocco non \u00e8 supportata
12.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties Thu Apr 22 16:54:34 2010 -0700
12.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties Thu Apr 29 13:53:09 2010 -0700
12.3 @@ -41,7 +41,7 @@
12.4 cachedrowsetimpl.longfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getLong \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
12.5 cachedrowsetimpl.floatfail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getFloat \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
12.6 cachedrowsetimpl.doublefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDouble \u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
12.7 -cachedrowsetimpl.dtypemismt = \u30c7\u30fc\u30bf\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1
12.8 +cachedrowsetimpl.dtypemismt = \u30c7\u30fc\u30bf\u578b\u306e\u30df\u30b9\u30de\u30c3\u30c1
12.9 cachedrowsetimpl.datefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getDate \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
12.10 cachedrowsetimpl.timefail = \u5217 {1} \u306e\u5024 ( {0} ) \u3067 getTime \u304c\u5931\u6557\u3002\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3002
12.11 cachedrowsetimpl.posupdate = \u4f4d\u7f6e\u6c7a\u3081\u3055\u308c\u305f\u66f4\u65b0\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
12.12 @@ -71,11 +71,13 @@
12.13 cachedrowsetimpl.unsetmatch2 = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
12.14 cachedrowsetimpl.numrows = \u884c\u6570\u304c\u30bc\u30ed\u307e\u305f\u306f\u30d5\u30a7\u30c3\u30c1\u30b5\u30a4\u30ba\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059\u3002
12.15 cachedrowsetimpl.startpos = \u958b\u59cb\u4f4d\u7f6e\u306f\u8ca0\u3067\u306f\u306a\u308a\u307e\u305b\u3093\u3002
12.16 -cachedrowsetimpl.nextpage = \u547c\u3073\u51fa\u3057\u524d\u306b\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
12.17 +cachedrowsetimpl.nextpage = \u547c\u3073\u51fa\u3057\u524d\u306b\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
12.18 cachedrowsetimpl.pagesize = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f\u30bc\u30ed\u3088\u308a\u5c0f\u3055\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002
12.19 cachedrowsetimpl.pagesize1 = \u30da\u30fc\u30b8\u30b5\u30a4\u30ba\u306f maxRows \u3088\u308a\u5927\u304d\u304f\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002
12.20 cachedrowsetimpl.fwdonly = ResultSet \u306f\u9806\u65b9\u5411\u306e\u307f\u3067\u3059\u3002
12.21 cachedrowsetimpl.type = \u578b : {0}
12.22 +cachedrowsetimpl.opnotysupp = \u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
12.23 +cachedrowsetimpl.featnotsupp = \u3053\u306e\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
12.24
12.25 # WebRowSetImpl exceptions
12.26 webrowsetimpl.nullhash = WebRowSetImpl \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306b null \u306e Hashtable \u304c\u4f7f\u7528\u3055\u308c\u307e\u3057\u305f\u3002
12.27 @@ -83,7 +85,7 @@
12.28 webrowsetimpl.invalidrd = \u7121\u52b9\u306a\u30ea\u30fc\u30c0\u30fc
12.29
12.30 #FilteredRowSetImpl exceptions
12.31 -filteredrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
12.32 +filteredrowsetimpl.relative = relative : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
12.33 filteredrowsetimpl.absolute = absolute : \u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u64cd\u4f5c
12.34 filteredrowsetimpl.notallowed = \u3053\u306e\u5024\u306f\u30d5\u30a3\u30eb\u30bf\u3067\u8a31\u5bb9\u3055\u308c\u307e\u305b\u3093\u3002
12.35
12.36 @@ -95,6 +97,7 @@
12.37 joinrowsetimpl.notsupported = \u3053\u306e\u578b\u306e\u7d50\u5408\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
12.38 joinrowsetimpl.initerror = JoinRowSet \u521d\u671f\u5316\u30a8\u30e9\u30fc
12.39 joinrowsetimpl.genericerr = \u6c4e\u7528 joinrowset \u306e\u521d\u671f\u30a8\u30e9\u30fc
12.40 +joinrowsetimpl.emptyrowset = \u3053\u306e JoinRowSet \u306b\u306f\u7a7a\u306e\u884c\u30bb\u30c3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002
12.41
12.42 #JdbcRowSetImpl exceptions
12.43 jdbcrowsetimpl.invalstate = \u7121\u52b9\u306a\u72b6\u614b
12.44 @@ -108,22 +111,28 @@
12.45 jdbcrowsetimpl.usecolname = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217\u540d\u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002
12.46 jdbcrowsetimpl.usecolid = unsetMatchColumn \u3078\u306e\u5f15\u6570\u3068\u3057\u3066\u5217 ID \u3092\u4f7f\u7528\u3066\u304f\u3060\u3055\u3044\u3002
12.47 jdbcrowsetimpl.resnotupd = ResultSet \u306f\u66f4\u65b0\u3067\u304d\u307e\u305b\u3093\u3002
12.48 +jdbcrowsetimpl.opnotysupp = \u3053\u306e\u64cd\u4f5c\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
12.49 +jdbcrowsetimpl.featnotsupp = \u3053\u306e\u6a5f\u80fd\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
12.50
12.51 #CachedRowSetReader exceptions
12.52 crsreader.connect = (JNDI) \u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3002
12.53 crsreader.paramtype = \u30d1\u30e9\u30e1\u30fc\u30bf\u578b\u3092\u63a8\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
12.54 +crsreader.connecterr = RowSetReader \u306e\u5185\u90e8\u30a8\u30e9\u30fc: \u5207\u65ad\u3055\u308c\u3066\u3044\u308b\u304b\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
12.55 +crsreader.datedetected = \u65e5\u4ed8\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
12.56 +crsreader.caldetected = \u30ab\u30ec\u30f3\u30c0\u3092\u691c\u51fa\u3057\u307e\u3057\u305f\u3002
12.57
12.58 #CachedRowSetWriter exceptions
12.59 crswriter.connect = \u63a5\u7d9a\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
12.60 crswriter.tname = writeData \u304c\u8868\u540d\u3092\u5224\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002
12.61 crswriter.params1 = params1 \u306e\u5024 : {0}
12.62 crswriter.params2 = params2 \u306e\u5024 : {0}
12.63 +crswriter.conflictsno = \u540c\u671f\u4e2d\u306b\u885d\u7a81\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
12.64
12.65 #InsertRow exceptions
12.66 insertrow.novalue = \u5024\u306f\u633f\u5165\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
12.67
12.68 #SyncResolverImpl exceptions
12.69 -syncrsimpl.indexval = \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024
12.70 +syncrsimpl.indexval = \u7bc4\u56f2\u5916\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5024
12.71 syncrsimpl.noconflict = \u3053\u306e\u5217\u306f\u7af6\u5408\u3057\u3066\u3044\u307e\u305b\u3093\u3002
12.72 syncrsimpl.syncnotpos = \u540c\u671f\u3067\u304d\u307e\u305b\u3093\u3002
12.73 syncrsimpl.valtores = \u89e3\u6c7a\u3055\u308c\u308b\u5024\u306f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b cachedrowset \u306b\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
12.74 @@ -132,31 +141,27 @@
12.75 wrsxmlreader.invalidcp = RowSet \u306e\u6700\u5f8c\u306b\u5230\u9054\u3057\u307e\u3057\u305f\u3002\u7121\u52b9\u306a\u30ab\u30fc\u30bd\u30eb\u4f4d\u7f6e
12.76 wrsxmlreader.readxml = readXML : {0}
12.77 wrsxmlreader.parseerr = ** \u69cb\u6587\u89e3\u6790\u30a8\u30e9\u30fc
12.78 -wrsxmlreader.line = , \u884c
12.79 -wrsxmlreader.uri = , uri
12.80
12.81 #WebRowSetXmlWriter exceptions
12.82 wrsxmlwriter.ioex = IOException : {0}
12.83 -wrsxmlwriter.sqlex = SQLException : {0}
12.84 +wrsxmlwriter.sqlex = SQLException : {0}
12.85 wrsxmlwriter.failedwrite = \u5024\u306e\u66f8\u304d\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
12.86 wsrxmlwriter.notproper = \u9069\u5207\u306a\u578b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
12.87
12.88 -#XmlReaderContentHandle exceptions
12.89 -xmlrch.errmap = Map \u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
12.90 -xmlrch.errmetadata = \u30e1\u30bf\u30c7\u30fc\u30bf\u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
12.91 +#XmlReaderContentHandler exceptions
12.92 +xmlrch.errmap = Map \u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
12.93 +xmlrch.errmetadata = \u30e1\u30bf\u30c7\u30fc\u30bf\u8a2d\u5b9a\u30a8\u30e9\u30fc : {0}
12.94 xmlrch.errinsert = \u5024\u306e\u633f\u5165\u30a8\u30e9\u30fc : {0}
12.95 xmlrch.errconstr = \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
12.96 xmlrch.errdel = \u884c\u306e\u524a\u9664\u30a8\u30e9\u30fc : {0}
12.97 xmlrch.errinsert = \u633f\u5165\u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
12.98 xmlrch.errinsdel = insdel \u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
12.99 xmlrch.errupdate = \u66f4\u65b0\u884c\u306e\u751f\u6210\u30a8\u30e9\u30fc : {0}
12.100 -xmlrch errupdrow = \u884c\u306e\u66f4\u65b0\u30a8\u30e9\u30fc : {0}
12.101 +xmlrch.errupdrow = \u884c\u306e\u66f4\u65b0\u30a8\u30e9\u30fc: {0}
12.102 xmlrch.chars = \u6587\u5b57 :
12.103 -xmlrch.badvalue = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30d7\u30ed\u30d1\u30c6\u30a3
12.104 +xmlrch.badvalue = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc
12.105 xmlrch.badvalue1 = \u4e0d\u6b63\u306a\u5024 ; null \u306b\u3067\u304d\u306a\u3044\u30e1\u30bf\u30c7\u30fc\u30bf
12.106 -xmlrch.warning = ** \u8b66\u544a
12.107 -xmlrch.line = , \u884c
12.108 -xmlrch.uri = , uri
12.109 +xmlrch.warning = ** \u8b66\u544a
12.110
12.111 #RIOptimisticProvider Exceptions
12.112 riop.locking = \u30ed\u30c3\u30af\u306e\u5206\u985e\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
13.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties Thu Apr 22 16:54:34 2010 -0700
13.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties Thu Apr 29 13:53:09 2010 -0700
13.3 @@ -1,5 +1,5 @@
13.4 #
13.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
13.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
13.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
13.8 #
13.9 # This code is free software; you can redistribute it and/or modify it
13.10 @@ -41,7 +41,7 @@
13.11 cachedrowsetimpl.longfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
13.12 cachedrowsetimpl.floatfail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getFloat\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
13.13 cachedrowsetimpl.doublefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDouble\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
13.14 -cachedrowsetimpl.dtypemismt = \ub370\uc774\ud130 \uc720\ud615\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.15 +cachedrowsetimpl.dtypemismt = \ub370\uc774\ud130 \uc720\ud615\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.16 cachedrowsetimpl.datefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getDate\uac00 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.17 cachedrowsetimpl.timefail = \uc5f4 {1}\uc758 \uac12({0})\uc5d0\uc11c getLong\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \ubcc0\ud658\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.18 cachedrowsetimpl.posupdate = \uc704\uce58 \uc9c0\uc815 \uc5c5\ub370\uc774\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.19 @@ -71,11 +71,13 @@
13.20 cachedrowsetimpl.unsetmatch2 = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
13.21 cachedrowsetimpl.numrows = \ud589 \uac1c\uc218\uac00 0\ubcf4\ub2e4 \uc791\uac70\ub098 \ubc18\uc785 \ud06c\uae30\ubcf4\ub2e4 \uc791\uc2b5\ub2c8\ub2e4.
13.22 cachedrowsetimpl.startpos = \uc2dc\uc791 \uc704\uce58\ub294 \uc74c\uc218\uc77c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.23 -cachedrowsetimpl.nextpage = \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uc2ed\uc2dc\uc624.
13.24 +cachedrowsetimpl.nextpage = \ud638\ucd9c\ud558\uae30 \uc804\uc5d0 \ub370\uc774\ud130\ub97c \ucc44\uc6b0\uc2ed\uc2dc\uc624.
13.25 cachedrowsetimpl.pagesize = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 0\ubcf4\ub2e4 \uc791\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.26 cachedrowsetimpl.pagesize1 = \ud398\uc774\uc9c0 \ud06c\uae30\ub294 maxRows\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.27 cachedrowsetimpl.fwdonly = ResultSet\ub294 \uc804\ub2ec \uc804\uc6a9\uc785\ub2c8\ub2e4.
13.28 cachedrowsetimpl.type = \uc720\ud615: {0}
13.29 +cachedrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.30 +cachedrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.31
13.32 # WebRowSetImpl exceptions
13.33 webrowsetimpl.nullhash = WebRowSetImpl \uc778\uc2a4\ud134\uc2a4\ub97c \uc778\uc2a4\ud134\uc2a4\ud654\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uad6c\uc131\uc790\uc5d0 \ub110 Hashtable\uc774 \uc81c\uacf5\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
13.34 @@ -83,7 +85,7 @@
13.35 webrowsetimpl.invalidrd = \uc798\ubabb\ub41c \ud310\ub3c5\uae30\uc785\ub2c8\ub2e4.
13.36
13.37 #FilteredRowSetImpl exceptions
13.38 -filteredrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
13.39 +filteredrowsetimpl.relative = \uc0c1\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
13.40 filteredrowsetimpl.absolute = \uc808\ub300: \uc798\ubabb\ub41c \ucee4\uc11c \uc791\uc5c5\uc785\ub2c8\ub2e4.
13.41 filteredrowsetimpl.notallowed = \uc774 \uac12\uc740 \ud544\ud130\ub97c \ud1b5\uacfc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.42
13.43 @@ -95,6 +97,7 @@
13.44 joinrowsetimpl.notsupported = \uc774 \uacb0\ud569 \uc720\ud615\uc740 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.45 joinrowsetimpl.initerror = JoinRowSet \ucd08\uae30\ud654 \uc624\ub958
13.46 joinrowsetimpl.genericerr = \uc77c\ubc18 joinrowset \ucd08\uae30 \uc624\ub958
13.47 +joinrowsetimpl.emptyrowset = \uc774 JoinRowSet\uc5d0 \ube48 rowset\uc744 \ucd94\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.48
13.49 #JdbcRowSetImpl exceptions
13.50 jdbcrowsetimpl.invalstate = \uc798\ubabb\ub41c \uc0c1\ud0dc\uc785\ub2c8\ub2e4.
13.51 @@ -108,22 +111,28 @@
13.52 jdbcrowsetimpl.usecolname = \uc5f4 \uc774\ub984\uc744 unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
13.53 jdbcrowsetimpl.usecolid = \uc5f4 ID\ub97c unsetMatchColumn\uc758 \uc778\uc218\ub85c \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
13.54 jdbcrowsetimpl.resnotupd = ResultSet\uc740 \uc5c5\ub370\uc774\ud2b8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.55 +jdbcrowsetimpl.opnotysupp = \uc791\uc5c5\uc774 \uc544\uc9c1 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.56 +jdbcrowsetimpl.featnotsupp = \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.57
13.58 #CachedRowSetReader exceptions
13.59 crsreader.connect = (JNDI) \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.60 crsreader.paramtype = \ub9e4\uac1c \ubcc0\uc218 \uc720\ud615\uc744 \ucd94\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.61 +crsreader.connecterr = RowSetReader \ub0b4\ubd80 \uc624\ub958: \uc5f0\uacb0 \ub610\ub294 \uba85\ub839\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
13.62 +crsreader.datedetected = \ub0a0\uc9dc\uac00 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
13.63 +crsreader.caldetected = \ub2ec\ub825\uc774 \uac10\uc9c0\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
13.64
13.65 #CachedRowSetWriter exceptions
13.66 crswriter.connect = \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.67 crswriter.tname = writeData\uc5d0\uc11c \ud14c\uc774\ube14 \uc774\ub984\uc744 \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.68 -crswriter.params1 = params1\uc758 \uac12: {0}
13.69 -crswriter.params2 = params2\uc758 \uac12: {0}
13.70 +crswriter.params1 = params1\uc758 \uac12: {0}
13.71 +crswriter.params2 = params2\uc758 \uac12: {0}
13.72 +crswriter.conflictsno = \ub3d9\uae30\ud654\ud558\ub294 \ub3d9\uc548 \ucda9\ub3cc\ud569\ub2c8\ub2e4.
13.73
13.74 #InsertRow exceptions
13.75 insertrow.novalue = \uac12\uc774 \uc0bd\uc785\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
13.76
13.77 #SyncResolverImpl exceptions
13.78 -syncrsimpl.indexval = \uc0c9\uc778 \uac12\uc774 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4.
13.79 +syncrsimpl.indexval = \uc0c9\uc778 \uac12\uc774 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4.
13.80 syncrsimpl.noconflict = \uc774 \uc5f4\uc740 \ucda9\ub3cc\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
13.81 syncrsimpl.syncnotpos = \ub3d9\uae30\ud654\ub97c \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
13.82 syncrsimpl.valtores = \ud655\uc778\ud560 \uac12\uc774 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub098 cachedrowset\uc5d0 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.
13.83 @@ -132,31 +141,27 @@
13.84 wrsxmlreader.invalidcp = RowSet\uc758 \ub05d\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4. \uc798\ubabb\ub41c \ucee4\uc11c \uc704\uce58\uc785\ub2c8\ub2e4.
13.85 wrsxmlreader.readxml = readXML: {0}
13.86 wrsxmlreader.parseerr = ** \uad6c\ubb38 \ubd84\uc11d \uc624\ub958
13.87 -wrsxmlreader.line = , \uc904
13.88 -wrsxmlreader.uri = , uri
13.89
13.90 #WebRowSetXmlWriter exceptions
13.91 wrsxmlwriter.ioex = IOException: {0}
13.92 -wrsxmlwriter.sqlex = SQLException: {0}
13.93 +wrsxmlwriter.sqlex = SQLException: {0}
13.94 wrsxmlwriter.failedwrite = \uac12\uc744 \uc4f0\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
13.95 wsrxmlwriter.notproper = \uc62c\ubc14\ub978 \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
13.96
13.97 -#XmlReaderContentHandle exceptions
13.98 -xmlrch.errmap = \ub9e4\ud551\uc744 \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.99 -xmlrch.errmetadata = \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.100 -xmlrch.errinsert = \uac12\uc744 \uc0bd\uc785\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.101 +#XmlReaderContentHandler exceptions
13.102 +xmlrch.errmap = \ub9e4\ud551\uc744 \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.103 +xmlrch.errmetadata = \uba54\ud0c0\ub370\uc774\ud130\ub97c \uc124\uc815\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.104 +xmlrch.errinsert = \ub2e4\uc74c \uac12\uc744 \uc0bd\uc785\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd : {0}
13.105 xmlrch.errconstr = \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.106 xmlrch.errdel = \ud589\uc744 \uc81c\uac70\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.107 xmlrch.errinsert = insert \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.108 xmlrch.errinsdel = insdel \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.109 xmlrch.errupdate = update \ud589\uc744 \ub9cc\ub4dc\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.110 -xmlrch errupdrow = \ud589\uc744 \uc5c5\ub370\uc774\ud2b8\ud558\ub294 \uc911 \uc624\ub958 \ubc1c\uc0dd: {0}
13.111 +xmlrch.errupdrow = \ud589 \uc5c5\ub370\uc774\ud2b8 \uc624\ub958: {0}
13.112 xmlrch.chars = \ubb38\uc790:
13.113 xmlrch.badvalue = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \ub4f1\ub85d \uc815\ubcf4
13.114 xmlrch.badvalue1 = \uc798\ubabb\ub41c \uac12; \ub110\uc77c \uc218 \uc5c6\ub294 \uba54\ud0c0\ub370\uc774\ud130
13.115 -xmlrch.warning = ** \uacbd\uace0
13.116 -xmlrch.line = , \uc904
13.117 -xmlrch.uri = , uri
13.118 +xmlrch.warning = ** \uacbd\uace0
13.119
13.120 #RIOptimisticProvider Exceptions
13.121 riop.locking = \ub4f1\uae09 \uc7a0\uae08\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
14.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties Thu Apr 22 16:54:34 2010 -0700
14.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties Thu Apr 29 13:53:09 2010 -0700
14.3 @@ -1,5 +1,5 @@
14.4 #
14.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
14.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
14.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
14.8 #
14.9 # This code is free software; you can redistribute it and/or modify it
14.10 @@ -41,7 +41,7 @@
14.11 cachedrowsetimpl.longfail = getLong misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
14.12 cachedrowsetimpl.floatfail = getFloat misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
14.13 cachedrowsetimpl.doublefail = getDouble misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}
14.14 -cachedrowsetimpl.dtypemismt = Inkompatibel datatyp
14.15 +cachedrowsetimpl.dtypemismt = Inkompatibel datatyp
14.16 cachedrowsetimpl.datefail = getDate misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig
14.17 cachedrowsetimpl.timefail = getTime misslyckades f\u00f6r v\u00e4rdet ({0}) i kolumnen {1}, ingen konvertering tillg\u00e4nglig
14.18 cachedrowsetimpl.posupdate = Det finns inte st\u00f6d f\u00f6r positionerad uppdatering
14.19 @@ -71,11 +71,13 @@
14.20 cachedrowsetimpl.unsetmatch2 = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn
14.21 cachedrowsetimpl.numrows = Antalet rader understiger noll eller \u00e4r mindre \u00e4n h\u00e4mtningsstorleken
14.22 cachedrowsetimpl.startpos = Startpositionen f\u00e5r inte vara negativ
14.23 -cachedrowsetimpl.nextpage = Fyll i data innan anrop
14.24 +cachedrowsetimpl.nextpage = Fyll i data innan anrop
14.25 cachedrowsetimpl.pagesize = Sidstorleken f\u00e5r inte understiga noll
14.26 cachedrowsetimpl.pagesize1 = Sidstorleken f\u00e5r inte \u00f6verstiga maxRows
14.27 cachedrowsetimpl.fwdonly = ResultSet kan endast g\u00e5 fram\u00e5t
14.28 cachedrowsetimpl.type = Typ: {0}
14.29 +cachedrowsetimpl.opnotysupp = Det finns \u00e4nnu inte st\u00f6d f\u00f6r \u00e5tg\u00e4rden
14.30 +cachedrowsetimpl.featnotsupp = Funktionen st\u00f6ds inte
14.31
14.32 # WebRowSetImpl exceptions
14.33 webrowsetimpl.nullhash = Det g\u00e5r inte att skapa instansen WebRowSetImpl. Tom hashtabell skickades till konstrukt\u00f6r.
14.34 @@ -95,6 +97,7 @@
14.35 joinrowsetimpl.notsupported = Det finns inget st\u00f6d f\u00f6r denna kopplingstyp
14.36 joinrowsetimpl.initerror = Initieringsfel f\u00f6r JoinRowSet
14.37 joinrowsetimpl.genericerr = Allm\u00e4nt initieringsfel f\u00f6r JoinRowSet
14.38 +joinrowsetimpl.emptyrowset = Det g\u00e5r inte att l\u00e4gga till tom rowset i denna JoinRowSet
14.39
14.40 #JdbcRowSetImpl exceptions
14.41 jdbcrowsetimpl.invalstate = Ogiltig status
14.42 @@ -108,22 +111,28 @@
14.43 jdbcrowsetimpl.usecolname = Anv\u00e4nd kolumnnamn som argument f\u00f6r unsetMatchColumn
14.44 jdbcrowsetimpl.usecolid = Anv\u00e4nd kolumnn-id som argument f\u00f6r unsetMatchColumn
14.45 jdbcrowsetimpl.resnotupd = ResultSet \u00e4r inte uppdateringsbart
14.46 +jdbcrowsetimpl.opnotysupp = Det finns \u00e4nnu inte st\u00f6d f\u00f6r \u00e5tg\u00e4rden
14.47 +jdbcrowsetimpl.featnotsupp = Funktionen st\u00f6ds inte
14.48
14.49 #CachedRowSetReader exceptions
14.50 crsreader.connect = (JNDI) kan inte anslutas
14.51 crsreader.paramtype = Det g\u00e5r inte att fastst\u00e4lla parametertypen
14.52 +crsreader.connecterr = Internfel i RowSetReader: ingen anslutning eller inget kommando
14.53 +crsreader.datedetected = Ett datum uppt\u00e4cktes
14.54 +crsreader.caldetected = En kalender uppt\u00e4cktes
14.55
14.56 #CachedRowSetWriter exceptions
14.57 crswriter.connect = Det g\u00e5r inte att uppr\u00e4tta n\u00e5gon anslutning
14.58 crswriter.tname = writeData kan inte fastst\u00e4lla tabellnamnet
14.59 crswriter.params1 = Parameterv\u00e4rde1: {0}
14.60 crswriter.params2 = Parameterv\u00e4rde2: {0}
14.61 +crswriter.conflictsno = konflikter uppstod vid synkronisering
14.62
14.63 #InsertRow exceptions
14.64 insertrow.novalue = Inget v\u00e4rde har infogats
14.65
14.66 #SyncResolverImpl exceptions
14.67 -syncrsimpl.indexval = Indexv\u00e4rdet ligger utanf\u00f6r intervallet
14.68 +syncrsimpl.indexval = Indexv\u00e4rdet ligger utanf\u00f6r intervallet
14.69 syncrsimpl.noconflict = Denna kolumn st\u00e5r inte i konflikt
14.70 syncrsimpl.syncnotpos = Synkronisering \u00e4r inte m\u00f6jlig
14.71 syncrsimpl.valtores = V\u00e4rdet som ska analyseras kan antingen finnas i databasen eller i cachedrowset
14.72 @@ -132,31 +141,27 @@
14.73 wrsxmlreader.invalidcp = Slutet p\u00e5 RowSet har n\u00e5tts. Mark\u00f6rpositionen \u00e4r ogiltig.
14.74 wrsxmlreader.readxml = readXML: {0}
14.75 wrsxmlreader.parseerr = ** Tolkningsfel
14.76 -wrsxmlreader.line = , rad
14.77 -wrsxmlreader.uri = , URI
14.78
14.79 #WebRowSetXmlWriter exceptions
14.80 wrsxmlwriter.ioex = IOException: {0}
14.81 -wrsxmlwriter.sqlex = SQLException: {0}
14.82 +wrsxmlwriter.sqlex = SQLException: {0}
14.83 wrsxmlwriter.failedwrite = Det gick inte att skriva v\u00e4rdet
14.84 wsrxmlwriter.notproper = Ingen riktig typ
14.85
14.86 -#XmlReaderContentHandle exceptions
14.87 -xmlrch.errmap = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande bild: {0}
14.88 -xmlrch.errmetadata = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande metadata: {0}
14.89 +#XmlReaderContentHandler exceptions
14.90 +xmlrch.errmap = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande bild: {0}
14.91 +xmlrch.errmetadata = Ett fel uppstod vid inst\u00e4llningen av f\u00f6ljande metadata: {0}
14.92 xmlrch.errinsert = Ett fel uppstod n\u00e4r f\u00f6ljande v\u00e4rden skulle infogas: {0}
14.93 xmlrch.errconstr = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle skapas: {0}
14.94 xmlrch.errdel = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle raderas: {0}
14.95 xmlrch.errinsert = Ett fel uppstod n\u00e4r f\u00f6ljande infogningsrad skulle skapas: {0}
14.96 xmlrch.errinsdel = Ett fel uppstod n\u00e4r raden insdel skulle skapas: {0}
14.97 xmlrch.errupdate = Ett fel uppstod n\u00e4r f\u00f6ljande uppdateringsrad skulle skapas: {0}
14.98 -xmlrch errupdrow = Ett fel uppstod n\u00e4r f\u00f6ljande rad skulle uppdateras: {0}
14.99 +xmlrch.errupdrow = Det gick inte att uppdatera raden: {0}
14.100 xmlrch.chars = tecken:
14.101 xmlrch.badvalue = Felaktigt v\u00e4rde; egenskapen kan inte ha ett tomt v\u00e4rde
14.102 xmlrch.badvalue1 = Felaktigt v\u00e4rde; metadatan kan inte ha ett tomt v\u00e4rde
14.103 -xmlrch.warning = ** Varning!
14.104 -xmlrch.line = , rad
14.105 -xmlrch.uri = , URI
14.106 +xmlrch.warning = ** Varning!
14.107
14.108 #RIOptimisticProvider Exceptions
14.109 riop.locking = Det finns inte st\u00f6d f\u00f6r denna l\u00e5sningsklassifikation
15.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties Thu Apr 22 16:54:34 2010 -0700
15.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties Thu Apr 29 13:53:09 2010 -0700
15.3 @@ -1,5 +1,5 @@
15.4 #
15.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
15.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
15.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
15.8 #
15.9 # This code is free software; you can redistribute it and/or modify it
15.10 @@ -41,7 +41,7 @@
15.11 cachedrowsetimpl.longfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getLong \u5931\u8d25
15.12 cachedrowsetimpl.floatfail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getFloat \u5931\u8d25
15.13 cachedrowsetimpl.doublefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDouble \u5931\u8d25
15.14 -cachedrowsetimpl.dtypemismt = \u6570\u636e\u7c7b\u578b\u4e0d\u5339\u914d
15.15 +cachedrowsetimpl.dtypemismt = \u6570\u636e\u7c7b\u578b\u4e0d\u5339\u914d
15.16 cachedrowsetimpl.datefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getDate \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362
15.17 cachedrowsetimpl.timefail = \u5bf9\u5217 {1} \u4e2d\u7684\u503c ({0}) \u6267\u884c getTime \u5931\u8d25\uff0c\u65e0\u53ef\u7528\u8f6c\u6362
15.18 cachedrowsetimpl.posupdate = \u4e0d\u652f\u6301\u5b9a\u4f4d\u66f4\u65b0
15.19 @@ -71,11 +71,13 @@
15.20 cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
15.21 cachedrowsetimpl.numrows = \u884c\u6570\u5c0f\u4e8e\u96f6\u6216\u5c0f\u4e8e\u8981\u63d0\u53d6\u7684\u884c\u6570
15.22 cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u4e3a\u8d1f\u6570
15.23 -cachedrowsetimpl.nextpage = \u5728\u8c03\u7528\u4e4b\u524d\u5148\u586b\u5145\u6570\u636e
15.24 +cachedrowsetimpl.nextpage = \u5728\u8c03\u7528\u4e4b\u524d\u5148\u586b\u5145\u6570\u636e
15.25 cachedrowsetimpl.pagesize = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u4e8e\u96f6
15.26 cachedrowsetimpl.pagesize1 = \u9875\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u4e8e maxRows
15.27 cachedrowsetimpl.fwdonly = ResultSet \u7684\u7c7b\u578b\u4e3a\u4ec5\u5411\u524d\u7c7b\u578b
15.28 cachedrowsetimpl.type = \u7c7b\u578b\u4e3a: {0}
15.29 +cachedrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u64cd\u4f5c
15.30 +cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u6301\u529f\u80fd
15.31
15.32 # WebRowSetImpl exceptions
15.33 webrowsetimpl.nullhash = \u65e0\u6cd5\u5b9e\u4f8b\u5316 WebRowSetImpl \u5b9e\u4f8b\u3002\u63d0\u4f9b\u7ed9\u6784\u9020\u51fd\u6570\u7684 Hashtable \u4e3a Null
15.34 @@ -83,7 +85,7 @@
15.35 webrowsetimpl.invalidrd = \u8bfb\u53d6\u5668\u65e0\u6548
15.36
15.37 #FilteredRowSetImpl exceptions
15.38 -filteredrowsetimpl.relative = relative: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
15.39 +filteredrowsetimpl.relative = relative: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
15.40 filteredrowsetimpl.absolute = absolute: \u5149\u6807\u64cd\u4f5c\u65e0\u6548
15.41 filteredrowsetimpl.notallowed = \u4e0d\u5141\u8bb8\u6b64\u503c\u901a\u8fc7\u8fc7\u6ee4\u5668
15.42
15.43 @@ -95,6 +97,7 @@
15.44 joinrowsetimpl.notsupported = \u4e0d\u652f\u6301\u6b64\u8fde\u63a5\u7c7b\u578b
15.45 joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u9519\u8bef
15.46 joinrowsetimpl.genericerr = \u4e00\u822c JoinRowSet \u521d\u59cb\u5316\u9519\u8bef
15.47 +joinrowsetimpl.emptyrowset = \u65e0\u6cd5\u5c06\u7a7a\u7684 rowset \u6dfb\u52a0\u5230\u6b64 JoinRowSet
15.48
15.49 #JdbcRowSetImpl exceptions
15.50 jdbcrowsetimpl.invalstate = \u72b6\u6001\u65e0\u6548
15.51 @@ -108,22 +111,28 @@
15.52 jdbcrowsetimpl.usecolname = \u4f7f\u7528\u5217\u540d\u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
15.53 jdbcrowsetimpl.usecolid = \u4f7f\u7528\u5217 ID \u4f5c\u4e3a unsetMatchColumn \u7684\u53c2\u6570
15.54 jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0
15.55 +jdbcrowsetimpl.opnotysupp = \u5c1a\u4e0d\u652f\u6301\u64cd\u4f5c
15.56 +jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u6301\u529f\u80fd
15.57
15.58 #CachedRowSetReader exceptions
15.59 crsreader.connect = (JNDI) \u65e0\u6cd5\u8fde\u63a5
15.60 crsreader.paramtype = \u65e0\u6cd5\u63a8\u65ad\u53c2\u6570\u7c7b\u578b
15.61 +crsreader.connecterr = RowSetReader \u53d1\u751f\u5185\u90e8\u9519\u8bef\uff1a\u6ca1\u6709\u8fde\u63a5\u6216\u547d\u4ee4
15.62 +crsreader.datedetected = \u68c0\u6d4b\u5230\u65e5\u671f
15.63 +crsreader.caldetected = \u68c0\u6d4b\u5230\u65e5\u5386
15.64
15.65 #CachedRowSetWriter exceptions
15.66 crswriter.connect = \u65e0\u6cd5\u8fdb\u884c\u8fde\u63a5
15.67 crswriter.tname = writeData \u65e0\u6cd5\u786e\u5b9a\u8868\u540d
15.68 crswriter.params1 = params1 \u7684\u503c: {0}
15.69 crswriter.params2 = params2 \u7684\u503c: {0}
15.70 +crswriter.conflictsno = \u540c\u6b65\u65f6\u53d1\u751f\u51b2\u7a81
15.71
15.72 #InsertRow exceptions
15.73 insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u4efb\u4f55\u503c
15.74
15.75 #SyncResolverImpl exceptions
15.76 -syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u8303\u56f4
15.77 +syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u8303\u56f4
15.78 syncrsimpl.noconflict = \u6b64\u5217\u4e0d\u51b2\u7a81
15.79 syncrsimpl.syncnotpos = \u4e0d\u80fd\u540c\u6b65
15.80 syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4ee5\u5728\u6570\u636e\u5e93\u4e2d\uff0c\u4e5f\u53ef\u4ee5\u5728 CachedRowSet \u4e2d
15.81 @@ -132,37 +141,30 @@
15.82 wrsxmlreader.invalidcp = \u5df2\u5230\u8fbe RowSet \u7684\u7ed3\u5c3e\u3002\u5149\u6807\u4f4d\u7f6e\u65e0\u6548
15.83 wrsxmlreader.readxml = readXML: {0}
15.84 wrsxmlreader.parseerr = ** \u8bed\u6cd5\u89e3\u6790\u9519\u8bef
15.85 -wrsxmlreader.line = \uff0c\u884c
15.86 -wrsxmlreader.uri = \uff0curi
15.87
15.88 #WebRowSetXmlWriter exceptions
15.89 wrsxmlwriter.ioex = IOException: {0}
15.90 -wrsxmlwriter.sqlex = SQLException: {0}
15.91 +wrsxmlwriter.sqlex = SQLException: {0}
15.92 wrsxmlwriter.failedwrite = \u65e0\u6cd5\u5199\u5165\u503c
15.93 wsrxmlwriter.notproper = \u7c7b\u578b\u4e0d\u6b63\u786e
15.94
15.95 -#XmlReaderContentHandle exceptions
15.96 -xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0}
15.97 -xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0}
15.98 +#XmlReaderContentHandler exceptions
15.99 +xmlrch.errmap = \u8bbe\u7f6e\u6620\u5c04\u65f6\u51fa\u9519: {0}
15.100 +xmlrch.errmetadata = \u8bbe\u7f6e\u5143\u6570\u636e\u65f6\u51fa\u9519: {0}
15.101 xmlrch.errinsert = \u63d2\u5165\u503c\u65f6\u51fa\u9519: {0}
15.102 xmlrch.errconstr = \u6784\u9020\u884c\u65f6\u51fa\u9519: {0}
15.103 xmlrch.errdel = \u5220\u9664\u884c\u65f6\u51fa\u9519: {0}
15.104 xmlrch.errinsert = \u6784\u9020\u63d2\u5165\u884c\u65f6\u51fa\u9519: {0}
15.105 xmlrch.errinsdel = \u6784\u9020 insdel \u884c\u65f6\u51fa\u9519: {0}
15.106 xmlrch.errupdate = \u6784\u9020\u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0}
15.107 -xmlrch errupdrow = \u66f4\u65b0\u884c\u65f6\u51fa\u9519: {0}
15.108 +xmlrch.errupdrow = \u66f4\u65b0\u884c\u65f6\u51fa\u9519\uff1a{0}
15.109 xmlrch.chars = \u5b57\u7b26:
15.110 xmlrch.badvalue = \u503c\u9519\u8bef\uff1b\u5c5e\u6027\u4e0d\u53ef\u4e3a Null
15.111 xmlrch.badvalue1 = \u503c\u9519\u8bef\uff1b\u5143\u6570\u636e\u4e0d\u53ef\u4e3a Null
15.112 -xmlrch.warning = ** \u8b66\u544a
15.113 -xmlrch.line = \uff0c\u884c
15.114 -xmlrch.uri = \uff0curi
15.115 +xmlrch.warning = ** \u8b66\u544a
15.116
15.117 #RIOptimisticProvider Exceptions
15.118 riop.locking = \u4e0d\u652f\u6301\u9501\u5b9a\u5206\u7c7b
15.119
15.120 #RIXMLProvider exceptions
15.121 rixml.unsupp = \u4e0d\u652f\u6301 RIXMLProvider
15.122 -
15.123 -
15.124 -
16.1 --- a/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties Thu Apr 22 16:54:34 2010 -0700
16.2 +++ b/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties Thu Apr 29 13:53:09 2010 -0700
16.3 @@ -1,5 +1,5 @@
16.4 #
16.5 -# Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
16.6 +# Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
16.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
16.8 #
16.9 # This code is free software; you can redistribute it and/or modify it
16.10 @@ -41,7 +41,7 @@
16.11 cachedrowsetimpl.longfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getLong \u5931\u6557
16.12 cachedrowsetimpl.floatfail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getFloat \u5931\u6557
16.13 cachedrowsetimpl.doublefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDouble \u5931\u6557
16.14 -cachedrowsetimpl.dtypemismt = \u8cc7\u6599\u985e\u578b\u4e0d\u5339\u914d
16.15 +cachedrowsetimpl.dtypemismt = \u8cc7\u6599\u985e\u578b\u4e0d\u5339\u914d
16.16 cachedrowsetimpl.datefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getDate \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db
16.17 cachedrowsetimpl.timefail = \u5c0d\u6b04 {1} \u4e2d\u7684\u503c ( {0} ) \u57f7\u884c getTime \u5931\u6557\uff0c\u672a\u9032\u884c\u8f49\u63db
16.18 cachedrowsetimpl.posupdate = \u4e0d\u652f\u63f4\u5b9a\u4f4d\u7684\u66f4\u65b0
16.19 @@ -71,11 +71,13 @@
16.20 cachedrowsetimpl.unsetmatch2 = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
16.21 cachedrowsetimpl.numrows = \u5217\u6578\u5c0f\u65bc\u96f6\u6216\u5c0f\u65bc\u64f7\u53d6\u5927\u5c0f
16.22 cachedrowsetimpl.startpos = \u8d77\u59cb\u4f4d\u7f6e\u4e0d\u80fd\u70ba\u8ca0
16.23 -cachedrowsetimpl.nextpage = \u5728\u547c\u53eb\u4e4b\u524d\u690d\u5165\u8cc7\u6599
16.24 +cachedrowsetimpl.nextpage = \u5728\u547c\u53eb\u4e4b\u524d\u690d\u5165\u8cc7\u6599
16.25 cachedrowsetimpl.pagesize = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5c0f\u65bc\u96f6
16.26 cachedrowsetimpl.pagesize1 = \u9801\u9762\u5927\u5c0f\u4e0d\u80fd\u5927\u65bc maxRows
16.27 cachedrowsetimpl.fwdonly = ResultSet \u53ea\u80fd\u5411\u524d\u9032\u884c
16.28 cachedrowsetimpl.type = \u985e\u578b\u662f\uff1a{0}
16.29 +cachedrowsetimpl.opnotysupp = \u5c1a\u672a\u652f\u63f4\u6b64\u4f5c\u696d
16.30 +cachedrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u6b64\u529f\u80fd
16.31
16.32 # WebRowSetImpl exceptions
16.33 webrowsetimpl.nullhash = \u7121\u6cd5\u5275\u8a2d WebRowSetImpl \u5be6\u4f8b\u3002\u70ba\u5efa\u69cb\u5b50\u63d0\u4f9b\u7684 Hashtable \u70ba\u7a7a
16.34 @@ -83,7 +85,7 @@
16.35 webrowsetimpl.invalidrd = \u8b80\u53d6\u5668\u7121\u6548
16.36
16.37 #FilteredRowSetImpl exceptions
16.38 -filteredrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
16.39 +filteredrowsetimpl.relative = relative\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
16.40 filteredrowsetimpl.absolute = absolute\uff1a\u6e38\u6a19\u4f5c\u696d\u7121\u6548
16.41 filteredrowsetimpl.notallowed = \u4e0d\u5141\u8a31\u6b64\u503c\u901a\u904e\u904e\u6ffe\u5668
16.42
16.43 @@ -95,6 +97,7 @@
16.44 joinrowsetimpl.notsupported = \u4e0d\u652f\u63f4\u6b64\u985e\u9023\u7d50
16.45 joinrowsetimpl.initerror = JoinRowSet \u521d\u59cb\u5316\u932f\u8aa4
16.46 joinrowsetimpl.genericerr = \u5e38\u898f\u7684 joinrowset \u521d\u59cb\u5316\u932f\u8aa4
16.47 +joinrowsetimpl.emptyrowset = \u4e0d\u53ef\u5c07\u7a7a\u767d\u7684 rowset \u589e\u52a0\u81f3\u6b64 JoinRowSet
16.48
16.49 #JdbcRowSetImpl exceptions
16.50 jdbcrowsetimpl.invalstate = \u72c0\u614b\u7121\u6548
16.51 @@ -108,22 +111,28 @@
16.52 jdbcrowsetimpl.usecolname = \u4f7f\u7528\u6b04\u540d\u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
16.53 jdbcrowsetimpl.usecolid = \u4f7f\u7528\u6b04 ID \u505a\u70ba unsetMatchColumn \u7684\u5f15\u6578
16.54 jdbcrowsetimpl.resnotupd = ResultSet \u4e0d\u53ef\u66f4\u65b0
16.55 +jdbcrowsetimpl.opnotysupp = \u5c1a\u672a\u652f\u63f4\u6b64\u4f5c\u696d
16.56 +jdbcrowsetimpl.featnotsupp = \u4e0d\u652f\u63f4\u6b64\u529f\u80fd
16.57
16.58 #CachedRowSetReader exceptions
16.59 crsreader.connect = (JNDI) \u7121\u6cd5\u9023\u7dda
16.60 crsreader.paramtype = \u7121\u6cd5\u63a8\u65b7\u53c3\u6578\u985e\u578b
16.61 +crsreader.connecterr = RowSetReader \u767c\u751f\u5167\u90e8\u932f\u8aa4\uff1a\u6c92\u6709\u9023\u7dda\u6216\u6307\u4ee4
16.62 +crsreader.datedetected = \u5075\u6e2c\u5230\u65e5\u671f
16.63 +crsreader.caldetected = \u5075\u6e2c\u5230\u884c\u4e8b\u66c6
16.64
16.65 #CachedRowSetWriter exceptions
16.66 crswriter.connect = \u7121\u6cd5\u5efa\u7acb\u9023\u7dda
16.67 crswriter.tname = writeData \u4e0d\u80fd\u6c7a\u5b9a\u8868\u540d\u7a31
16.68 -crswriter.params1 = params1 \u7684\u503c\uff1a{0}
16.69 -crswriter.params2 = params2 \u7684\u503c\uff1a{0}
16.70 +crswriter.params1 = params1 \u7684\u503c\uff1a{0}
16.71 +crswriter.params2 = params2 \u7684\u503c\uff1a{0}
16.72 +crswriter.conflictsno = \u540c\u6b65\u5316\u6642\u767c\u751f\u885d\u7a81
16.73
16.74 #InsertRow exceptions
16.75 insertrow.novalue = \u5c1a\u672a\u63d2\u5165\u503c
16.76
16.77 #SyncResolverImpl exceptions
16.78 -syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u7bc4\u570d
16.79 +syncrsimpl.indexval = \u7d22\u5f15\u503c\u8d85\u51fa\u7bc4\u570d
16.80 syncrsimpl.noconflict = \u6b64\u6b04\u4e0d\u885d\u7a81
16.81 syncrsimpl.syncnotpos = \u4e0d\u53ef\u80fd\u540c\u6b65\u5316
16.82 syncrsimpl.valtores = \u8981\u89e3\u6790\u7684\u503c\u53ef\u4f4d\u65bc\u8cc7\u6599\u5eab\u6216 cachedrowset \u4e2d
16.83 @@ -132,8 +141,6 @@
16.84 wrsxmlreader.invalidcp = \u5df2\u5230\u9054 RowSet \u672b\u5c3e\u3002\u6e38\u6a19\u4f4d\u7f6e\u7121\u6548
16.85 wrsxmlreader.readxml = readXML\uff1a{0}
16.86 wrsxmlreader.parseerr = ** \u5256\u6790\u932f\u8aa4
16.87 -wrsxmlreader.line = , \u884c
16.88 -wrsxmlreader.uri = , uri
16.89
16.90 #WebRowSetXmlWriter exceptions
16.91 wrsxmlwriter.ioex = IOException\uff1a{0}
16.92 @@ -141,28 +148,23 @@
16.93 wrsxmlwriter.failedwrite = \u5beb\u5165\u503c\u5931\u6557
16.94 wsrxmlwriter.notproper = \u4e0d\u662f\u6b63\u78ba\u985e\u578b
16.95
16.96 -#XmlReaderContentHandle exceptions
16.97 +#XmlReaderContentHandler exceptions
16.98 xmlrch.errmap = \u8a2d\u5b9a\u5c0d\u6620\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.99 xmlrch.errmetadata = \u8a2d\u5b9a\u5143\u8cc7\u6599\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.100 -xmlrch.errinsert = \u63d2\u5165\u503c\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.101 +xmlrch.errinsert = \u63d2\u5165\u503c\u6642\u767c\u751f\u932f\u8aa4: {0}
16.102 xmlrch.errconstr = \u5efa\u69cb\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.103 xmlrch.errdel = \u522a\u9664\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.104 xmlrch.errinsert = \u5efa\u69cb\u63d2\u5165\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.105 xmlrch.errinsdel = \u5efa\u69cb insdel \u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.106 xmlrch.errupdate = \u5efa\u69cb\u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.107 -xmlrch errupdrow = \u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4\uff1a{0}
16.108 +xmlrch.errupdrow = \u66f4\u65b0\u5217\u6642\u767c\u751f\u932f\u8aa4: {0}
16.109 xmlrch.chars = \u5b57\u5143\uff1a
16.110 xmlrch.badvalue = \u932f\u8aa4\u7684\u503c\uff1b\u7279\u6027\u4e0d\u80fd\u70ba\u7a7a
16.111 xmlrch.badvalue1 = \u932f\u8aa4\u7684\u503c\uff1b\u5143\u8cc7\u6599\u4e0d\u80fd\u70ba\u7a7a
16.112 -xmlrch.warning = ** \u8b66\u544a
16.113 -xmlrch.line = , \u884c
16.114 -xmlrch.uri = , uri
16.115 +xmlrch.warning = ** \u8b66\u544a
16.116
16.117 #RIOptimisticProvider Exceptions
16.118 riop.locking = \u4e0d\u652f\u63f4\u9396\u5b9a\u5206\u985e
16.119
16.120 #RIXMLProvider exceptions
16.121 rixml.unsupp = RIXMLProvider \u4e0d\u652f\u63f4
16.122 -
16.123 -
16.124 -
17.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties Thu Apr 22 16:54:34 2010 -0700
17.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties Thu Apr 29 13:53:09 2010 -0700
17.3 @@ -49,12 +49,11 @@
17.4 FileChooser.directoryDescriptionText=Verzeichnis
17.5 FileChooser.newFolderErrorText=Fehler beim Erstellen eines neuen Ordners
17.6 FileChooser.newFolderErrorSeparator= :
17.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
17.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
17.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
17.10 -FileChooser.renameErrorText=Cannot rename {0}
17.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
17.12 - Specify a different file name.
17.13 +FileChooser.newFolderParentDoesntExistTitleText=Ordner kann nicht erstellt werden
17.14 +FileChooser.newFolderParentDoesntExistText=Der Ordner kann nicht erstellt werden.\n\nDas System kann den angegebenen Pfad nicht finden.
17.15 +FileChooser.renameErrorTitleText=Fehler beim Umbenennen der Datei oder des Ordners
17.16 +FileChooser.renameErrorText={0} kann nicht umbenannt werden
17.17 +FileChooser.renameErrorFileExistsText={0} kann nicht umbenannt werden: Es ist bereits eine Datei mit diesem Namen vorhanden. Geben Sie einen anderen Dateinamen an.
17.18 FileChooser.acceptAllFileFilterText=Alle Dateien
17.19 FileChooser.cancelButtonText=Abbrechen
17.20 FileChooser.cancelButtonMnemonic=65
17.21 @@ -108,16 +107,16 @@
17.22 # xxxDisplayedMnemonicIndex.
17.23 ColorChooser.hsvNameText=HSV
17.24 ColorChooser.hsvMnemonic=72
17.25 -ColorChooser.hsvHueText=Hue
17.26 -ColorChooser.hsvSaturationText=Saturation
17.27 -ColorChooser.hsvValueText=Value
17.28 -ColorChooser.hsvTransparencyText=Transparency
17.29 +ColorChooser.hsvHueText=Farbton
17.30 +ColorChooser.hsvSaturationText=S\u00e4ttigung
17.31 +ColorChooser.hsvValueText=Wert
17.32 +ColorChooser.hsvTransparencyText=Transparenz
17.33 ColorChooser.hslNameText=HSL
17.34 ColorChooser.hslMnemonic=76
17.35 -ColorChooser.hslHueText=Hue
17.36 -ColorChooser.hslSaturationText=Saturation
17.37 -ColorChooser.hslLightnessText=Lightness
17.38 -ColorChooser.hslTransparencyText=Transparency
17.39 +ColorChooser.hslHueText=Farbton
17.40 +ColorChooser.hslSaturationText=S\u00e4ttigung
17.41 +ColorChooser.hslLightnessText=Helligkeit
17.42 +ColorChooser.hslTransparencyText=Transparenz
17.43 ColorChooser.rgbNameText=RGB
17.44 ColorChooser.rgbMnemonic=71
17.45 ColorChooser.rgbRedText=Rot
17.46 @@ -127,14 +126,14 @@
17.47 ColorChooser.rgbBlueText=Blau
17.48 ColorChooser.rgbBlueMnemonic=66
17.49 ColorChooser.rgbAlphaText=Alpha
17.50 -ColorChooser.rgbHexCodeText=Color Code
17.51 +ColorChooser.rgbHexCodeText=Farbcode
17.52 ColorChooser.rgbHexCodeMnemonic=67
17.53 ColorChooser.cmykNameText=CMYK
17.54 ColorChooser.cmykMnemonic=77
17.55 ColorChooser.cmykCyanText=Cyan
17.56 ColorChooser.cmykMagentaText=Magenta
17.57 -ColorChooser.cmykYellowText=Yellow
17.58 -ColorChooser.cmykBlackText=Black
17.59 +ColorChooser.cmykYellowText=Gelb
17.60 +ColorChooser.cmykBlackText=Schwarz
17.61 ColorChooser.cmykAlphaText=Alpha
17.62
17.63 ############ OPTION PANE STRINGS #############
18.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties Thu Apr 22 16:54:34 2010 -0700
18.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties Thu Apr 29 13:53:09 2010 -0700
18.3 @@ -49,12 +49,11 @@
18.4 FileChooser.directoryDescriptionText=Directorio
18.5 FileChooser.newFolderErrorText=Error al crear una nueva carpeta
18.6 FileChooser.newFolderErrorSeparator= :
18.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
18.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
18.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
18.10 -FileChooser.renameErrorText=Cannot rename {0}
18.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
18.12 - Specify a different file name.
18.13 +FileChooser.newFolderParentDoesntExistTitleText=No se ha podido crear la carpeta
18.14 +FileChooser.newFolderParentDoesntExistText=No se ha podido crear la carpeta.\n\nEl sistema no puede encontrar la ruta especificada.
18.15 +FileChooser.renameErrorTitleText=Error al cambiar de nombre el archivo o la carpeta
18.16 +FileChooser.renameErrorText=No se puede cambiar de nombre {0}
18.17 +FileChooser.renameErrorFileExistsText=No se puede cambiar de nombre {0}: Ya existe un archivo con el nombre que ha especificado. Especifique otro nombre de archivo.
18.18 FileChooser.acceptAllFileFilterText=Todos los archivos
18.19 FileChooser.cancelButtonText=Cancelar
18.20 FileChooser.cancelButtonMnemonic=67
18.21 @@ -108,16 +107,16 @@
18.22 # xxxDisplayedMnemonicIndex.
18.23 ColorChooser.hsvNameText=HSV
18.24 ColorChooser.hsvMnemonic=72
18.25 -ColorChooser.hsvHueText=Hue
18.26 -ColorChooser.hsvSaturationText=Saturation
18.27 -ColorChooser.hsvValueText=Value
18.28 -ColorChooser.hsvTransparencyText=Transparency
18.29 +ColorChooser.hsvHueText=Matriz
18.30 +ColorChooser.hsvSaturationText=Saturaci\u00f3n
18.31 +ColorChooser.hsvValueText=Valor
18.32 +ColorChooser.hsvTransparencyText=Transparencia
18.33 ColorChooser.hslNameText=HSL
18.34 ColorChooser.hslMnemonic=76
18.35 -ColorChooser.hslHueText=Hue
18.36 -ColorChooser.hslSaturationText=Saturation
18.37 -ColorChooser.hslLightnessText=Lightness
18.38 -ColorChooser.hslTransparencyText=Transparency
18.39 +ColorChooser.hslHueText=Matriz
18.40 +ColorChooser.hslSaturationText=Saturaci\u00f3n
18.41 +ColorChooser.hslLightnessText=Brillo
18.42 +ColorChooser.hslTransparencyText=Transparencia
18.43 ColorChooser.rgbNameText=RGB
18.44 ColorChooser.rgbMnemonic=71
18.45 ColorChooser.rgbRedText=Rojo
18.46 @@ -127,14 +126,14 @@
18.47 ColorChooser.rgbBlueText=Azul
18.48 ColorChooser.rgbBlueMnemonic=76
18.49 ColorChooser.rgbAlphaText=Alpha
18.50 -ColorChooser.rgbHexCodeText=Color Code
18.51 +ColorChooser.rgbHexCodeText=C\u00f3digo de color
18.52 ColorChooser.rgbHexCodeMnemonic=67
18.53 ColorChooser.cmykNameText=CMYK
18.54 ColorChooser.cmykMnemonic=77
18.55 -ColorChooser.cmykCyanText=Cyan
18.56 +ColorChooser.cmykCyanText=Cian
18.57 ColorChooser.cmykMagentaText=Magenta
18.58 -ColorChooser.cmykYellowText=Yellow
18.59 -ColorChooser.cmykBlackText=Black
18.60 +ColorChooser.cmykYellowText=Amarillo
18.61 +ColorChooser.cmykBlackText=Negro
18.62 ColorChooser.cmykAlphaText=Alpha
18.63
18.64 ############ OPTION PANE STRINGS #############
19.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties Thu Apr 22 16:54:34 2010 -0700
19.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties Thu Apr 29 13:53:09 2010 -0700
19.3 @@ -49,12 +49,11 @@
19.4 FileChooser.directoryDescriptionText=R\u00e9pertoire
19.5 FileChooser.newFolderErrorText=Erreur lors de la cr\u00e9ation du nouveau dossier
19.6 FileChooser.newFolderErrorSeparator= :
19.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
19.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
19.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
19.10 -FileChooser.renameErrorText=Cannot rename {0}
19.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
19.12 - Specify a different file name.
19.13 +FileChooser.newFolderParentDoesntExistTitleText=Impossible de cr\u00e9er le dossier
19.14 +FileChooser.newFolderParentDoesntExistText=Impossible de cr\u00e9er le dossier.\n\nLe syst\u00e8me ne trouve pas le chemin sp\u00e9cifi\u00e9.
19.15 +FileChooser.renameErrorTitleText=Erreur lors de la modification du nom du fichier ou du dossier
19.16 +FileChooser.renameErrorText=Impossible de renommer {0}
19.17 +FileChooser.renameErrorFileExistsText=Impossible de renommer {0}\u00a0: un fichier portant ce nom existe d\u00e9j\u00e0. Choisissez un nom diff\u00e9rent.
19.18 FileChooser.acceptAllFileFilterText=Tous les fichiers
19.19 FileChooser.cancelButtonText=Annuler
19.20 FileChooser.cancelButtonMnemonic=65
19.21 @@ -108,16 +107,16 @@
19.22 # xxxDisplayedMnemonicIndex.
19.23 ColorChooser.hsvNameText=HSV
19.24 ColorChooser.hsvMnemonic=72
19.25 -ColorChooser.hsvHueText=Hue
19.26 +ColorChooser.hsvHueText=Teinte
19.27 ColorChooser.hsvSaturationText=Saturation
19.28 -ColorChooser.hsvValueText=Value
19.29 -ColorChooser.hsvTransparencyText=Transparency
19.30 +ColorChooser.hsvValueText=Valeur
19.31 +ColorChooser.hsvTransparencyText=Transparence
19.32 ColorChooser.hslNameText=HSL
19.33 ColorChooser.hslMnemonic=76
19.34 -ColorChooser.hslHueText=Hue
19.35 +ColorChooser.hslHueText=Teinte
19.36 ColorChooser.hslSaturationText=Saturation
19.37 -ColorChooser.hslLightnessText=Lightness
19.38 -ColorChooser.hslTransparencyText=Transparency
19.39 +ColorChooser.hslLightnessText=Clart\u00e9
19.40 +ColorChooser.hslTransparencyText=Transparence
19.41 ColorChooser.rgbNameText=RVB
19.42 ColorChooser.rgbMnemonic=86
19.43 ColorChooser.rgbRedText=Rouge
19.44 @@ -127,14 +126,14 @@
19.45 ColorChooser.rgbBlueText=Bleu
19.46 ColorChooser.rgbBlueMnemonic=66
19.47 ColorChooser.rgbAlphaText=Alpha
19.48 -ColorChooser.rgbHexCodeText=Color Code
19.49 +ColorChooser.rgbHexCodeText=Code couleur
19.50 ColorChooser.rgbHexCodeMnemonic=67
19.51 ColorChooser.cmykNameText=CMYK
19.52 ColorChooser.cmykMnemonic=77
19.53 ColorChooser.cmykCyanText=Cyan
19.54 ColorChooser.cmykMagentaText=Magenta
19.55 -ColorChooser.cmykYellowText=Yellow
19.56 -ColorChooser.cmykBlackText=Black
19.57 +ColorChooser.cmykYellowText=Jaune
19.58 +ColorChooser.cmykBlackText=Noir
19.59 ColorChooser.cmykAlphaText=Alpha
19.60
19.61 ############ OPTION PANE STRINGS #############
20.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties Thu Apr 22 16:54:34 2010 -0700
20.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties Thu Apr 29 13:53:09 2010 -0700
20.3 @@ -49,12 +49,11 @@
20.4 FileChooser.directoryDescriptionText=Directory
20.5 FileChooser.newFolderErrorText=Errore durante la creazione della nuova cartella
20.6 FileChooser.newFolderErrorSeparator= :
20.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
20.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
20.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
20.10 -FileChooser.renameErrorText=Cannot rename {0}
20.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
20.12 - Specify a different file name.
20.13 +FileChooser.newFolderParentDoesntExistTitleText=Impossibile creare la cartella
20.14 +FileChooser.newFolderParentDoesntExistText=Impossibile creare la cartella.\n\nPercorso specificato non trovato nel sistema.
20.15 +FileChooser.renameErrorTitleText=Errore di ridenominazione del file o della cartella
20.16 +FileChooser.renameErrorText=Impossibile rinominare {0}
20.17 +FileChooser.renameErrorFileExistsText=Impossibile rinominare {0}: esiste gi\u00e0 un file con il nome specificato. Specificare un nome file alternativo.
20.18 FileChooser.acceptAllFileFilterText=Tutti i file
20.19 FileChooser.cancelButtonText=Annulla
20.20 FileChooser.cancelButtonMnemonic=65
20.21 @@ -108,16 +107,16 @@
20.22 # xxxDisplayedMnemonicIndex.
20.23 ColorChooser.hsvNameText=HSV
20.24 ColorChooser.hsvMnemonic=72
20.25 -ColorChooser.hsvHueText=Hue
20.26 -ColorChooser.hsvSaturationText=Saturation
20.27 -ColorChooser.hsvValueText=Value
20.28 -ColorChooser.hsvTransparencyText=Transparency
20.29 +ColorChooser.hsvHueText=Tonalit\u00e0
20.30 +ColorChooser.hsvSaturationText=Saturazione
20.31 +ColorChooser.hsvValueText=Valore
20.32 +ColorChooser.hsvTransparencyText=Trasparenza
20.33 ColorChooser.hslNameText=HSL
20.34 ColorChooser.hslMnemonic=76
20.35 -ColorChooser.hslHueText=Hue
20.36 -ColorChooser.hslSaturationText=Saturation
20.37 -ColorChooser.hslLightnessText=Lightness
20.38 -ColorChooser.hslTransparencyText=Transparency
20.39 +ColorChooser.hslHueText=Tonalit\u00e0
20.40 +ColorChooser.hslSaturationText=Saturazione
20.41 +ColorChooser.hslLightnessText=Luminosit\u00e0
20.42 +ColorChooser.hslTransparencyText=Trasparenza
20.43 ColorChooser.rgbNameText=RGB
20.44 ColorChooser.rgbMnemonic=71
20.45 ColorChooser.rgbRedText=Rosso
20.46 @@ -126,16 +125,16 @@
20.47 ColorChooser.rgbGreenMnemonic=69
20.48 ColorChooser.rgbBlueText=Blu
20.49 ColorChooser.rgbBlueMnemonic=66
20.50 -ColorChooser.rgbAlphaText=Alpha
20.51 -ColorChooser.rgbHexCodeText=Color Code
20.52 +ColorChooser.rgbAlphaText=Alfa
20.53 +ColorChooser.rgbHexCodeText=Codice colore
20.54 ColorChooser.rgbHexCodeMnemonic=67
20.55 ColorChooser.cmykNameText=CMYK
20.56 ColorChooser.cmykMnemonic=77
20.57 -ColorChooser.cmykCyanText=Cyan
20.58 +ColorChooser.cmykCyanText=Ciano
20.59 ColorChooser.cmykMagentaText=Magenta
20.60 -ColorChooser.cmykYellowText=Yellow
20.61 -ColorChooser.cmykBlackText=Black
20.62 -ColorChooser.cmykAlphaText=Alpha
20.63 +ColorChooser.cmykYellowText=Giallo
20.64 +ColorChooser.cmykBlackText=Nero
20.65 +ColorChooser.cmykAlphaText=Alfa
20.66
20.67 ############ OPTION PANE STRINGS #############
20.68 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
21.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties Thu Apr 22 16:54:34 2010 -0700
21.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties Thu Apr 29 13:53:09 2010 -0700
21.3 @@ -49,12 +49,11 @@
21.4 FileChooser.directoryDescriptionText=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea
21.5 FileChooser.newFolderErrorText=\u65b0\u898f\u30d5\u30a9\u30eb\u30c0\u306e\u4f5c\u6210\u306b\u5931\u6557
21.6 FileChooser.newFolderErrorSeparator= :
21.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
21.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
21.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
21.10 -FileChooser.renameErrorText=Cannot rename {0}
21.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
21.12 - Specify a different file name.
21.13 +FileChooser.newFolderParentDoesntExistTitleText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093
21.14 +FileChooser.newFolderParentDoesntExistText=\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002\n\n\u6307\u5b9a\u3055\u308c\u305f\u30d1\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
21.15 +FileChooser.renameErrorTitleText=\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30d5\u30a9\u30eb\u30c0\u306e\u540d\u524d\u5909\u66f4\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
21.16 +FileChooser.renameErrorText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002
21.17 +FileChooser.renameErrorFileExistsText={0} \u306e\u540d\u524d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093: \u6307\u5b9a\u3055\u308c\u305f\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
21.18 FileChooser.acceptAllFileFilterText=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb
21.19 FileChooser.cancelButtonText=\u53d6\u6d88\u3057
21.20 FileChooser.cancelButtonMnemonic=67
21.21 @@ -108,16 +107,16 @@
21.22 # xxxDisplayedMnemonicIndex.
21.23 ColorChooser.hsvNameText=HSV
21.24 ColorChooser.hsvMnemonic=72
21.25 -ColorChooser.hsvHueText=Hue
21.26 -ColorChooser.hsvSaturationText=Saturation
21.27 -ColorChooser.hsvValueText=Value
21.28 -ColorChooser.hsvTransparencyText=Transparency
21.29 +ColorChooser.hsvHueText=\u8272\u5408\u3044
21.30 +ColorChooser.hsvSaturationText=\u5f69\u5ea6
21.31 +ColorChooser.hsvValueText=\u5024
21.32 +ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6
21.33 ColorChooser.hslNameText=HSL
21.34 ColorChooser.hslMnemonic=76
21.35 -ColorChooser.hslHueText=Hue
21.36 -ColorChooser.hslSaturationText=Saturation
21.37 -ColorChooser.hslLightnessText=Lightness
21.38 -ColorChooser.hslTransparencyText=Transparency
21.39 +ColorChooser.hslHueText=\u8272\u5408\u3044
21.40 +ColorChooser.hslSaturationText=\u5f69\u5ea6
21.41 +ColorChooser.hslLightnessText=\u660e\u5ea6
21.42 +ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6
21.43 ColorChooser.rgbNameText=RGB
21.44 ColorChooser.rgbMnemonic=71
21.45 ColorChooser.rgbRedText=\u8d64(D)
21.46 @@ -126,16 +125,16 @@
21.47 ColorChooser.rgbGreenMnemonic=78
21.48 ColorChooser.rgbBlueText=\u9752(B)
21.49 ColorChooser.rgbBlueMnemonic=66
21.50 -ColorChooser.rgbAlphaText=Alpha
21.51 -ColorChooser.rgbHexCodeText=Color Code
21.52 +ColorChooser.rgbAlphaText=\u30a2\u30eb\u30d5\u30a1
21.53 +ColorChooser.rgbHexCodeText=\u8272\u30b3\u30fc\u30c9
21.54 ColorChooser.rgbHexCodeMnemonic=67
21.55 ColorChooser.cmykNameText=CMYK
21.56 ColorChooser.cmykMnemonic=77
21.57 -ColorChooser.cmykCyanText=Cyan
21.58 -ColorChooser.cmykMagentaText=Magenta
21.59 -ColorChooser.cmykYellowText=Yellow
21.60 -ColorChooser.cmykBlackText=Black
21.61 -ColorChooser.cmykAlphaText=Alpha
21.62 +ColorChooser.cmykCyanText=\u30b7\u30a2\u30f3
21.63 +ColorChooser.cmykMagentaText=\u30de\u30bc\u30f3\u30c0
21.64 +ColorChooser.cmykYellowText=\u9ec4
21.65 +ColorChooser.cmykBlackText=\u9ed2
21.66 +ColorChooser.cmykAlphaText=\u30a2\u30eb\u30d5\u30a1
21.67
21.68 ############ OPTION PANE STRINGS #############
21.69 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
22.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties Thu Apr 22 16:54:34 2010 -0700
22.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties Thu Apr 29 13:53:09 2010 -0700
22.3 @@ -49,12 +49,11 @@
22.4 FileChooser.directoryDescriptionText=\ub514\ub809\ud1a0\ub9ac
22.5 FileChooser.newFolderErrorText=\uc0c8 \ud3f4\ub354 \uc791\uc131 \uc624\ub958
22.6 FileChooser.newFolderErrorSeparator= :
22.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
22.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
22.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
22.10 -FileChooser.renameErrorText=Cannot rename {0}
22.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
22.12 - Specify a different file name.
22.13 +FileChooser.newFolderParentDoesntExistTitleText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
22.14 +FileChooser.newFolderParentDoesntExistText=\ud3f4\ub354\ub97c \ub9cc\ub4e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.\n\n\uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc9c0\uc815\ud55c \uacbd\ub85c\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
22.15 +FileChooser.renameErrorTitleText=\ud30c\uc77c \ub610\ub294 \ud3f4\ub354 \uc774\ub984 \ubc14\uafb8\uae30 \uc624\ub958
22.16 +FileChooser.renameErrorText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
22.17 +FileChooser.renameErrorFileExistsText={0}\uc758 \uc774\ub984\uc744 \ubc14\uafc0 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc9c0\uc815\ud55c \uc774\ub984\uc758 \ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \ud30c\uc77c \uc774\ub984\uc744 \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624.
22.18 FileChooser.acceptAllFileFilterText=\ubaa8\ub4e0 \ud30c\uc77c
22.19 FileChooser.cancelButtonText=\ucde8\uc18c
22.20 FileChooser.cancelButtonMnemonic=67
22.21 @@ -108,16 +107,16 @@
22.22 # xxxDisplayedMnemonicIndex.
22.23 ColorChooser.hsvNameText=HSV
22.24 ColorChooser.hsvMnemonic=72
22.25 -ColorChooser.hsvHueText=Hue
22.26 -ColorChooser.hsvSaturationText=Saturation
22.27 -ColorChooser.hsvValueText=Value
22.28 -ColorChooser.hsvTransparencyText=Transparency
22.29 +ColorChooser.hsvHueText=\uc0c9\uc0c1
22.30 +ColorChooser.hsvSaturationText=\ucc44\ub3c4
22.31 +ColorChooser.hsvValueText=\uac12
22.32 +ColorChooser.hsvTransparencyText=\ud22c\uba85\ub3c4
22.33 ColorChooser.hslNameText=HSL
22.34 ColorChooser.hslMnemonic=76
22.35 -ColorChooser.hslHueText=Hue
22.36 -ColorChooser.hslSaturationText=Saturation
22.37 -ColorChooser.hslLightnessText=Lightness
22.38 -ColorChooser.hslTransparencyText=Transparency
22.39 +ColorChooser.hslHueText=\uc0c9\uc0c1
22.40 +ColorChooser.hslSaturationText=\ucc44\ub3c4
22.41 +ColorChooser.hslLightnessText=\ubc1d\uae30
22.42 +ColorChooser.hslTransparencyText=\ud22c\uba85\ub3c4
22.43 ColorChooser.rgbNameText=RGB
22.44 ColorChooser.rgbMnemonic=71
22.45 ColorChooser.rgbRedText=\ube68\uac04\uc0c9(D)
22.46 @@ -126,16 +125,16 @@
22.47 ColorChooser.rgbGreenMnemonic=78
22.48 ColorChooser.rgbBlueText=\ud30c\ub780\uc0c9(B)
22.49 ColorChooser.rgbBlueMnemonic=66
22.50 -ColorChooser.rgbAlphaText=Alpha
22.51 -ColorChooser.rgbHexCodeText=Color Code
22.52 +ColorChooser.rgbAlphaText=\uc54c\ud30c
22.53 +ColorChooser.rgbHexCodeText=\uceec\ub7ec \ucf54\ub4dc
22.54 ColorChooser.rgbHexCodeMnemonic=67
22.55 ColorChooser.cmykNameText=CMYK
22.56 ColorChooser.cmykMnemonic=77
22.57 -ColorChooser.cmykCyanText=Cyan
22.58 -ColorChooser.cmykMagentaText=Magenta
22.59 -ColorChooser.cmykYellowText=Yellow
22.60 -ColorChooser.cmykBlackText=Black
22.61 -ColorChooser.cmykAlphaText=Alpha
22.62 +ColorChooser.cmykCyanText=\uccad\ub85d\uc0c9
22.63 +ColorChooser.cmykMagentaText=\uc790\ud64d\uc0c9
22.64 +ColorChooser.cmykYellowText=\ub178\ub780\uc0c9
22.65 +ColorChooser.cmykBlackText=\ud751\uc0c9
22.66 +ColorChooser.cmykAlphaText=\uc54c\ud30c
22.67
22.68 ############ OPTION PANE STRINGS #############
22.69 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
23.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties Thu Apr 22 16:54:34 2010 -0700
23.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties Thu Apr 29 13:53:09 2010 -0700
23.3 @@ -49,12 +49,11 @@
23.4 FileChooser.directoryDescriptionText=Katalog
23.5 FileChooser.newFolderErrorText=Fel d\u00e5 ny mapp skapades
23.6 FileChooser.newFolderErrorSeparator= :
23.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
23.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
23.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
23.10 -FileChooser.renameErrorText=Cannot rename {0}
23.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
23.12 - Specify a different file name.
23.13 +FileChooser.newFolderParentDoesntExistTitleText=Det gick inte att skapa mappen
23.14 +FileChooser.newFolderParentDoesntExistText=Det gick inte att skapa mappen.\n\nSystemet hittade inte den angivna s\u00f6kv\u00e4gen.
23.15 +FileChooser.renameErrorTitleText=Det gick inte att byta namn p\u00e5 filen eller mappen
23.16 +FileChooser.renameErrorText=Det gick inte byta namn p\u00e5 {0}
23.17 +FileChooser.renameErrorFileExistsText=Det gick inte byta namn p\u00e5 {0}: Det finns redan en fil med det namnet. Ge den ett annat namn.
23.18 FileChooser.acceptAllFileFilterText=Alla filer
23.19 FileChooser.cancelButtonText=Avbryt
23.20 FileChooser.cancelButtonMnemonic=65
23.21 @@ -106,18 +105,18 @@
23.22 # constant, and an index into the text to render the mnemonic as. The
23.23 # mnemonic is xxxMnemonic and the index of the character to underline is
23.24 # xxxDisplayedMnemonicIndex.
23.25 -ColorChooser.hsvNameText=HSV
23.26 +ColorChooser.hsvNameText=NMI
23.27 ColorChooser.hsvMnemonic=72
23.28 -ColorChooser.hsvHueText=Hue
23.29 -ColorChooser.hsvSaturationText=Saturation
23.30 -ColorChooser.hsvValueText=Value
23.31 -ColorChooser.hsvTransparencyText=Transparency
23.32 +ColorChooser.hsvHueText=Nyans
23.33 +ColorChooser.hsvSaturationText=M\u00e4ttnad
23.34 +ColorChooser.hsvValueText=V\u00e4rde
23.35 +ColorChooser.hsvTransparencyText=Genomskinlighet
23.36 ColorChooser.hslNameText=HSL
23.37 ColorChooser.hslMnemonic=76
23.38 -ColorChooser.hslHueText=Hue
23.39 -ColorChooser.hslSaturationText=Saturation
23.40 -ColorChooser.hslLightnessText=Lightness
23.41 -ColorChooser.hslTransparencyText=Transparency
23.42 +ColorChooser.hslHueText=Nyans
23.43 +ColorChooser.hslSaturationText=M\u00e4ttnad
23.44 +ColorChooser.hslLightnessText=Ljusstyrka
23.45 +ColorChooser.hslTransparencyText=Genomskinlighet
23.46 ColorChooser.rgbNameText=RGB
23.47 ColorChooser.rgbMnemonic=71
23.48 ColorChooser.rgbRedText=R\u00f6d
23.49 @@ -126,16 +125,16 @@
23.50 ColorChooser.rgbGreenMnemonic=71
23.51 ColorChooser.rgbBlueText=Bl\u00e5
23.52 ColorChooser.rgbBlueMnemonic=66
23.53 -ColorChooser.rgbAlphaText=Alpha
23.54 -ColorChooser.rgbHexCodeText=Color Code
23.55 +ColorChooser.rgbAlphaText=Alfa
23.56 +ColorChooser.rgbHexCodeText=F\u00e4rgkod
23.57 ColorChooser.rgbHexCodeMnemonic=67
23.58 ColorChooser.cmykNameText=CMYK
23.59 ColorChooser.cmykMnemonic=77
23.60 -ColorChooser.cmykCyanText=Cyan
23.61 +ColorChooser.cmykCyanText=Cyanbl\u00e5
23.62 ColorChooser.cmykMagentaText=Magenta
23.63 -ColorChooser.cmykYellowText=Yellow
23.64 -ColorChooser.cmykBlackText=Black
23.65 -ColorChooser.cmykAlphaText=Alpha
23.66 +ColorChooser.cmykYellowText=Gul
23.67 +ColorChooser.cmykBlackText=Svart
23.68 +ColorChooser.cmykAlphaText=Alfa
23.69
23.70 ############ OPTION PANE STRINGS #############
23.71 # Mnemonic keys correspond to KeyEvent.VK_XXX constant
24.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties Thu Apr 22 16:54:34 2010 -0700
24.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties Thu Apr 29 13:53:09 2010 -0700
24.3 @@ -49,12 +49,11 @@
24.4 FileChooser.directoryDescriptionText=\u76ee\u5f55
24.5 FileChooser.newFolderErrorText=\u521b\u5efa\u65b0\u7684\u6587\u4ef6\u5939\u65f6\u53d1\u751f\u9519\u8bef
24.6 FileChooser.newFolderErrorSeparator= :
24.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
24.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
24.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
24.10 -FileChooser.renameErrorText=Cannot rename {0}
24.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
24.12 - Specify a different file name.
24.13 +FileChooser.newFolderParentDoesntExistTitleText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939
24.14 +FileChooser.newFolderParentDoesntExistText=\u65e0\u6cd5\u521b\u5efa\u6587\u4ef6\u5939\u3002\n\n\u7cfb\u7edf\u65e0\u6cd5\u627e\u5230\u6307\u5b9a\u7684\u8def\u5f84\u3002
24.15 +FileChooser.renameErrorTitleText=\u91cd\u547d\u540d\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u65f6\u51fa\u9519
24.16 +FileChooser.renameErrorText=\u65e0\u6cd5\u91cd\u547d\u540d {0}
24.17 +FileChooser.renameErrorFileExistsText=\u65e0\u6cd5\u91cd\u547d\u540d {0}\uff1a\u5df2\u5b58\u5728\u5177\u6709\u6307\u5b9a\u540d\u79f0\u7684\u6587\u4ef6\u3002\u8bf7\u6307\u5b9a\u53e6\u4e00\u6587\u4ef6\u540d\u3002
24.18 FileChooser.acceptAllFileFilterText=\u6240\u6709\u6587\u4ef6
24.19 FileChooser.cancelButtonText=\u53d6\u6d88
24.20 FileChooser.cancelButtonMnemonic=67
24.21 @@ -108,16 +107,16 @@
24.22 # xxxDisplayedMnemonicIndex.
24.23 ColorChooser.hsvNameText=HSV
24.24 ColorChooser.hsvMnemonic=72
24.25 -ColorChooser.hsvHueText=Hue
24.26 -ColorChooser.hsvSaturationText=Saturation
24.27 -ColorChooser.hsvValueText=Value
24.28 -ColorChooser.hsvTransparencyText=Transparency
24.29 +ColorChooser.hsvHueText=\u8272\u8c03
24.30 +ColorChooser.hsvSaturationText=\u9971\u548c
24.31 +ColorChooser.hsvValueText=\u503c
24.32 +ColorChooser.hsvTransparencyText=\u900f\u660e
24.33 ColorChooser.hslNameText=HSL
24.34 ColorChooser.hslMnemonic=76
24.35 -ColorChooser.hslHueText=Hue
24.36 -ColorChooser.hslSaturationText=Saturation
24.37 -ColorChooser.hslLightnessText=Lightness
24.38 -ColorChooser.hslTransparencyText=Transparency
24.39 +ColorChooser.hslHueText=\u8272\u8c03
24.40 +ColorChooser.hslSaturationText=\u9971\u548c
24.41 +ColorChooser.hslLightnessText=\u4eae\u5ea6
24.42 +ColorChooser.hslTransparencyText=\u900f\u660e
24.43 ColorChooser.rgbNameText=RGB
24.44 ColorChooser.rgbMnemonic=71
24.45 ColorChooser.rgbRedText=\u7ea2
24.46 @@ -127,14 +126,14 @@
24.47 ColorChooser.rgbBlueText=\u84dd
24.48 ColorChooser.rgbBlueMnemonic=66
24.49 ColorChooser.rgbAlphaText=Alpha
24.50 -ColorChooser.rgbHexCodeText=Color Code
24.51 +ColorChooser.rgbHexCodeText=\u989c\u8272\u4ee3\u7801
24.52 ColorChooser.rgbHexCodeMnemonic=67
24.53 ColorChooser.cmykNameText=CMYK
24.54 ColorChooser.cmykMnemonic=77
24.55 -ColorChooser.cmykCyanText=Cyan
24.56 -ColorChooser.cmykMagentaText=Magenta
24.57 -ColorChooser.cmykYellowText=Yellow
24.58 -ColorChooser.cmykBlackText=Black
24.59 +ColorChooser.cmykCyanText=\u9752\u8272
24.60 +ColorChooser.cmykMagentaText=\u54c1\u7ea2\u8272
24.61 +ColorChooser.cmykYellowText=\u9ec4\u8272
24.62 +ColorChooser.cmykBlackText=\u9ed1\u8272
24.63 ColorChooser.cmykAlphaText=Alpha
24.64
24.65 ############ OPTION PANE STRINGS #############
25.1 --- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Thu Apr 22 16:54:34 2010 -0700
25.2 +++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties Thu Apr 29 13:53:09 2010 -0700
25.3 @@ -49,12 +49,11 @@
25.4 FileChooser.directoryDescriptionText=\u76ee\u9304
25.5 FileChooser.newFolderErrorText=\u5efa\u7acb\u65b0\u6a94\u6848\u593e\u6642\u767c\u751f\u932f\u8aa4
25.6 FileChooser.newFolderErrorSeparator= :
25.7 -FileChooser.newFolderParentDoesntExistTitleText=Unable to create folder
25.8 -FileChooser.newFolderParentDoesntExistText=Unable to create the folder.\n\nThe system cannot find the path specified.
25.9 -FileChooser.renameErrorTitleText=Error Renaming File or Folder
25.10 -FileChooser.renameErrorText=Cannot rename {0}
25.11 -FileChooser.renameErrorFileExistsText=Cannot rename {0}: A file with the name you specified already exists. \
25.12 - Specify a different file name.
25.13 +FileChooser.newFolderParentDoesntExistTitleText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e
25.14 +FileChooser.newFolderParentDoesntExistText=\u7121\u6cd5\u5efa\u7acb\u8cc7\u6599\u593e\u3002\n\n\u7cfb\u7d71\u627e\u4e0d\u5230\u6240\u6307\u5b9a\u7684\u8def\u5f91\u3002
25.15 +FileChooser.renameErrorTitleText=\u91cd\u65b0\u547d\u540d\u6a94\u6848\u6216\u8cc7\u6599\u593e\u6642\u767c\u751f\u932f\u8aa4
25.16 +FileChooser.renameErrorText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}
25.17 +FileChooser.renameErrorFileExistsText=\u7121\u6cd5\u91cd\u65b0\u547d\u540d {0}\uff1a\u60a8\u6307\u5b9a\u4e4b\u540d\u7a31\u7684\u6a94\u6848\u5df2\u5b58\u5728\u3002\u6307\u5b9a\u4e0d\u540c\u7684\u6a94\u6848\u540d\u7a31\u3002
25.18 FileChooser.acceptAllFileFilterText=\u6240\u6709\u6a94\u6848
25.19 FileChooser.cancelButtonText=\u53d6\u6d88
25.20 FileChooser.cancelButtonMnemonic=67
25.21 @@ -108,16 +107,16 @@
25.22 # xxxDisplayedMnemonicIndex.
25.23 ColorChooser.hsvNameText=HSV
25.24 ColorChooser.hsvMnemonic=72
25.25 -ColorChooser.hsvHueText=Hue
25.26 -ColorChooser.hsvSaturationText=Saturation
25.27 -ColorChooser.hsvValueText=Value
25.28 -ColorChooser.hsvTransparencyText=Transparency
25.29 +ColorChooser.hsvHueText=\u8272\u8abf
25.30 +ColorChooser.hsvSaturationText=\u98fd\u548c\u5ea6
25.31 +ColorChooser.hsvValueText=\u503c
25.32 +ColorChooser.hsvTransparencyText=\u900f\u660e\u5ea6
25.33 ColorChooser.hslNameText=HSL
25.34 ColorChooser.hslMnemonic=76
25.35 -ColorChooser.hslHueText=Hue
25.36 -ColorChooser.hslSaturationText=Saturation
25.37 -ColorChooser.hslLightnessText=Lightness
25.38 -ColorChooser.hslTransparencyText=Transparency
25.39 +ColorChooser.hslHueText=\u8272\u8abf
25.40 +ColorChooser.hslSaturationText=\u98fd\u548c\u5ea6
25.41 +ColorChooser.hslLightnessText=\u4eae\u5ea6
25.42 +ColorChooser.hslTransparencyText=\u900f\u660e\u5ea6
25.43 ColorChooser.rgbNameText=RGB
25.44 ColorChooser.rgbMnemonic=71
25.45 ColorChooser.rgbRedText=\u7d05\u8272(D)
25.46 @@ -127,14 +126,14 @@
25.47 ColorChooser.rgbBlueText=\u85cd\u8272(B)
25.48 ColorChooser.rgbBlueMnemonic=66
25.49 ColorChooser.rgbAlphaText=Alpha
25.50 -ColorChooser.rgbHexCodeText=Color Code
25.51 +ColorChooser.rgbHexCodeText=\u8272\u78bc
25.52 ColorChooser.rgbHexCodeMnemonic=67
25.53 ColorChooser.cmykNameText=CMYK
25.54 ColorChooser.cmykMnemonic=77
25.55 -ColorChooser.cmykCyanText=Cyan
25.56 -ColorChooser.cmykMagentaText=Magenta
25.57 -ColorChooser.cmykYellowText=Yellow
25.58 -ColorChooser.cmykBlackText=Black
25.59 +ColorChooser.cmykCyanText=\u85cd\u7da0\u8272
25.60 +ColorChooser.cmykMagentaText=\u7d2b\u7d05\u8272
25.61 +ColorChooser.cmykYellowText=\u9ec3\u8272
25.62 +ColorChooser.cmykBlackText=\u9ed1\u8272
25.63 ColorChooser.cmykAlphaText=Alpha
25.64
25.65 ############ OPTION PANE STRINGS #############
26.1 --- a/src/share/classes/java/awt/Component.java Thu Apr 22 16:54:34 2010 -0700
26.2 +++ b/src/share/classes/java/awt/Component.java Thu Apr 29 13:53:09 2010 -0700
26.3 @@ -4941,9 +4941,13 @@
26.4 // If we dispatch the event to toplevel ancestor,
26.5 // this could encolse the loop: 6480024.
26.6 anc.dispatchEventToSelf(newMWE);
26.7 - }
26.8 - }
26.9 - return true;
26.10 + if (newMWE.isConsumed()) {
26.11 + e.consume();
26.12 + }
26.13 + return true;
26.14 + }
26.15 + }
26.16 + return false;
26.17 }
26.18
26.19 boolean checkWindowClosingException() {
27.1 --- a/src/share/classes/java/awt/Container.java Thu Apr 22 16:54:34 2010 -0700
27.2 +++ b/src/share/classes/java/awt/Container.java Thu Apr 29 13:53:09 2010 -0700
27.3 @@ -4492,7 +4492,10 @@
27.4 retargetMouseEvent(mouseOver, id, e);
27.5 break;
27.6 }
27.7 - e.consume();
27.8 + //Consuming of wheel events is implemented in "retargetMouseEvent".
27.9 + if (id != MouseEvent.MOUSE_WHEEL) {
27.10 + e.consume();
27.11 + }
27.12 }
27.13 return e.isConsumed();
27.14 }
27.15 @@ -4800,6 +4803,12 @@
27.16 target.dispatchEvent(retargeted);
27.17 }
27.18 }
27.19 + if (id == MouseEvent.MOUSE_WHEEL && retargeted.isConsumed()) {
27.20 + //An exception for wheel bubbling to the native system.
27.21 + //In "processMouseEvent" total event consuming for wheel events is skipped.
27.22 + //Protection from bubbling of Java-accepted wheel events.
27.23 + e.consume();
27.24 + }
27.25 }
27.26 }
27.27
28.1 --- a/src/share/classes/java/awt/font/NumericShaper.java Thu Apr 22 16:54:34 2010 -0700
28.2 +++ b/src/share/classes/java/awt/font/NumericShaper.java Thu Apr 29 13:53:09 2010 -0700
28.3 @@ -129,6 +129,8 @@
28.4 * @since 1.7
28.5 */
28.6 public static enum Range {
28.7 + // The order of EUROPEAN to MOGOLIAN must be consistent
28.8 + // with the bitmask-based constants.
28.9 /**
28.10 * The Latin (European) range with the Latin (ASCII) digits.
28.11 */
28.12 @@ -210,6 +212,9 @@
28.13 * The Mongolian range with the Mongolian digits.
28.14 */
28.15 MONGOLIAN ('\u1810', '\u1800', '\u1900'),
28.16 + // The order of EUROPEAN to MOGOLIAN must be consistent
28.17 + // with the bitmask-based constants.
28.18 +
28.19 /**
28.20 * The N'Ko range with the N'Ko digits.
28.21 */
28.22 @@ -259,17 +264,6 @@
28.23 */
28.24 CHAM ('\uaa50', '\uaa00', '\uaa60');
28.25
28.26 - private static final Range[] ranges = Range.class.getEnumConstants();
28.27 - static {
28.28 - // sort ranges[] by base for binary search
28.29 - Arrays.sort(ranges,
28.30 - new Comparator<Range>() {
28.31 - public int compare(Range s1, Range s2) {
28.32 - return s1.base > s2.base ? 1 : s1.base == s2.base ? 0 : -1;
28.33 - }
28.34 - });
28.35 - }
28.36 -
28.37 private static int toRangeIndex(Range script) {
28.38 int index = script.ordinal();
28.39 return index < NUM_KEYS ? index : -1;
28.40 @@ -346,11 +340,20 @@
28.41 /**
28.42 * {@code Set<Range>} indicating which Unicode ranges to
28.43 * shape. {@code null} for the bit mask-based API.
28.44 - *
28.45 - * @since 1.7
28.46 */
28.47 private transient Set<Range> rangeSet;
28.48
28.49 + /**
28.50 + * rangeSet.toArray() value. Sorted by Range.base when the number
28.51 + * of elements is greater then BSEARCH_THRESHOLD.
28.52 + */
28.53 + private transient Range[] rangeArray;
28.54 +
28.55 + /**
28.56 + * If more than BSEARCH_THRESHOLD ranges are specified, binary search is used.
28.57 + */
28.58 + private static final int BSEARCH_THRESHOLD = 3;
28.59 +
28.60 private static final long serialVersionUID = -8022764705923730308L;
28.61
28.62 /** Identifies the Latin-1 (European) and extended range, and
28.63 @@ -513,25 +516,32 @@
28.64 // cache for the NumericShaper.Range version
28.65 private transient volatile Range currentRange = Range.EUROPEAN;
28.66
28.67 - private Range rangeForCodePoint(int codepoint) {
28.68 - Range range = currentRange;
28.69 - if (range.inRange(codepoint)) {
28.70 - return range;
28.71 + private Range rangeForCodePoint(final int codepoint) {
28.72 + if (currentRange.inRange(codepoint)) {
28.73 + return currentRange;
28.74 }
28.75
28.76 - final Range[] ranges = Range.ranges;
28.77 - int lo = 0;
28.78 - int hi = ranges.length - 1;
28.79 - while (lo <= hi) {
28.80 - int mid = (lo + hi) / 2;
28.81 - range = ranges[mid];
28.82 - if (codepoint < range.start) {
28.83 - hi = mid - 1;
28.84 - } else if (codepoint >= range.end) {
28.85 - lo = mid + 1;
28.86 - } else {
28.87 - currentRange = range;
28.88 - return range;
28.89 + final Range[] ranges = rangeArray;
28.90 + if (ranges.length > BSEARCH_THRESHOLD) {
28.91 + int lo = 0;
28.92 + int hi = ranges.length - 1;
28.93 + while (lo <= hi) {
28.94 + int mid = (lo + hi) / 2;
28.95 + Range range = ranges[mid];
28.96 + if (codepoint < range.start) {
28.97 + hi = mid - 1;
28.98 + } else if (codepoint >= range.end) {
28.99 + lo = mid + 1;
28.100 + } else {
28.101 + currentRange = range;
28.102 + return range;
28.103 + }
28.104 + }
28.105 + } else {
28.106 + for (int i = 0; i < ranges.length; i++) {
28.107 + if (ranges[i].inRange(codepoint)) {
28.108 + return ranges[i];
28.109 + }
28.110 }
28.111 }
28.112 return Range.EUROPEAN;
28.113 @@ -928,8 +938,25 @@
28.114 }
28.115
28.116 private NumericShaper(Range defaultContext, Set<Range> ranges) {
28.117 - this.shapingRange = defaultContext;
28.118 - this.rangeSet = EnumSet.copyOf(ranges); // throws NPE if ranges is null.
28.119 + shapingRange = defaultContext;
28.120 + rangeSet = EnumSet.copyOf(ranges); // throws NPE if ranges is null.
28.121 +
28.122 + // Give precedance to EASTERN_ARABIC if both ARABIC and
28.123 + // EASTERN_ARABIC are specified.
28.124 + if (rangeSet.contains(Range.EASTERN_ARABIC)
28.125 + && rangeSet.contains(Range.ARABIC)) {
28.126 + rangeSet.remove(Range.ARABIC);
28.127 + }
28.128 + rangeArray = rangeSet.toArray(new Range[rangeSet.size()]);
28.129 + if (rangeArray.length > BSEARCH_THRESHOLD) {
28.130 + // sort rangeArray for binary search
28.131 + Arrays.sort(rangeArray,
28.132 + new Comparator<Range>() {
28.133 + public int compare(Range s1, Range s2) {
28.134 + return s1.base > s2.base ? 1 : s1.base == s2.base ? 0 : -1;
28.135 + }
28.136 + });
28.137 + }
28.138 }
28.139
28.140 /**
28.141 @@ -1152,31 +1179,25 @@
28.142 }
28.143
28.144 private void shapeContextually(char[] text, int start, int count, Range ctxKey) {
28.145 - if (ctxKey == null) {
28.146 + // if we don't support the specified context, then don't shape.
28.147 + if (ctxKey == null || !rangeSet.contains(ctxKey)) {
28.148 ctxKey = Range.EUROPEAN;
28.149 }
28.150
28.151 Range lastKey = ctxKey;
28.152 int base = ctxKey.getDigitBase();
28.153 char minDigit = (char)('0' + ctxKey.getNumericBase());
28.154 - for (int i = start, end = start + count; i < end; ++i) {
28.155 + final int end = start + count;
28.156 + for (int i = start; i < end; ++i) {
28.157 char c = text[i];
28.158 if (c >= minDigit && c <= '9') {
28.159 text[i] = (char)(c + base);
28.160 continue;
28.161 }
28.162 if (isStrongDirectional(c)) {
28.163 - Range newKey = rangeForCodePoint(c);
28.164 - if (newKey != lastKey) {
28.165 - lastKey = newKey;
28.166 - ctxKey = newKey;
28.167 - if (rangeSet.contains(Range.EUROPEAN)
28.168 - && (ctxKey == Range.ARABIC || ctxKey == Range.EASTERN_ARABIC)) {
28.169 - ctxKey = Range.EASTERN_ARABIC;
28.170 - } else if (!rangeSet.contains(ctxKey)) {
28.171 - ctxKey = Range.EUROPEAN;
28.172 - }
28.173 -
28.174 + ctxKey = rangeForCodePoint(c);
28.175 + if (ctxKey != lastKey) {
28.176 + lastKey = ctxKey;
28.177 base = ctxKey.getDigitBase();
28.178 minDigit = (char)('0' + ctxKey.getNumericBase());
28.179 }
29.1 --- a/src/share/classes/java/net/NetworkInterface.java Thu Apr 22 16:54:34 2010 -0700
29.2 +++ b/src/share/classes/java/net/NetworkInterface.java Thu Apr 29 13:53:09 2010 -0700
29.3 @@ -221,11 +221,12 @@
29.4 * A display name is a human readable String describing the network
29.5 * device.
29.6 *
29.7 - * @return the display name of this network interface,
29.8 - * or null if no display name is available.
29.9 + * @return a non-empty string representing the display name of this network
29.10 + * interface, or null if no display name is available.
29.11 */
29.12 public String getDisplayName() {
29.13 - return displayName;
29.14 + /* strict TCK conformance */
29.15 + return "".equals(displayName) ? null : displayName;
29.16 }
29.17
29.18 /**
30.1 --- a/src/share/classes/java/text/DateFormat.java Thu Apr 22 16:54:34 2010 -0700
30.2 +++ b/src/share/classes/java/text/DateFormat.java Thu Apr 29 13:53:09 2010 -0700
30.3 @@ -53,20 +53,20 @@
30.4 import sun.util.LocaleServiceProviderPool;
30.5
30.6 /**
30.7 - * DateFormat is an abstract class for date/time formatting subclasses which
30.8 + * {@code DateFormat} is an abstract class for date/time formatting subclasses which
30.9 * formats and parses dates or time in a language-independent manner.
30.10 - * The date/time formatting subclass, such as SimpleDateFormat, allows for
30.11 + * The date/time formatting subclass, such as {@link SimpleDateFormat}, allows for
30.12 * formatting (i.e., date -> text), parsing (text -> date), and
30.13 * normalization. The date is represented as a <code>Date</code> object or
30.14 * as the milliseconds since January 1, 1970, 00:00:00 GMT.
30.15 *
30.16 - * <p>DateFormat provides many class methods for obtaining default date/time
30.17 + * <p>{@code DateFormat} provides many class methods for obtaining default date/time
30.18 * formatters based on the default or a given locale and a number of formatting
30.19 - * styles. The formatting styles include FULL, LONG, MEDIUM, and SHORT. More
30.20 + * styles. The formatting styles include {@link #FULL}, {@link #LONG}, {@link #MEDIUM}, and {@link #SHORT}. More
30.21 * detail and examples of using these styles are provided in the method
30.22 * descriptions.
30.23 *
30.24 - * <p>DateFormat helps you to format and parse dates for any locale.
30.25 + * <p>{@code DateFormat} helps you to format and parse dates for any locale.
30.26 * Your code can be completely independent of the locale conventions for
30.27 * months, days of the week, or even the calendar format: lunar vs. solar.
30.28 *
30.29 @@ -86,7 +86,7 @@
30.30 * }
30.31 * </pre>
30.32 * <p>To format a date for a different Locale, specify it in the
30.33 - * call to getDateInstance().
30.34 + * call to {@link #getDateInstance(int, Locale) getDateInstance()}.
30.35 * <pre>
30.36 * DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);
30.37 * </pre>
30.38 @@ -94,30 +94,30 @@
30.39 * <pre>
30.40 * myDate = df.parse(myString);
30.41 * </pre>
30.42 - * <p>Use getDateInstance to get the normal date format for that country.
30.43 + * <p>Use {@code getDateInstance} to get the normal date format for that country.
30.44 * There are other static factory methods available.
30.45 - * Use getTimeInstance to get the time format for that country.
30.46 - * Use getDateTimeInstance to get a date and time format. You can pass in
30.47 + * Use {@code getTimeInstance} to get the time format for that country.
30.48 + * Use {@code getDateTimeInstance} to get a date and time format. You can pass in
30.49 * different options to these factory methods to control the length of the
30.50 - * result; from SHORT to MEDIUM to LONG to FULL. The exact result depends
30.51 + * result; from {@link #SHORT} to {@link #MEDIUM} to {@link #LONG} to {@link #FULL}. The exact result depends
30.52 * on the locale, but generally:
30.53 - * <ul><li>SHORT is completely numeric, such as 12.13.52 or 3:30pm
30.54 - * <li>MEDIUM is longer, such as Jan 12, 1952
30.55 - * <li>LONG is longer, such as January 12, 1952 or 3:30:32pm
30.56 - * <li>FULL is pretty completely specified, such as
30.57 - * Tuesday, April 12, 1952 AD or 3:30:42pm PST.
30.58 + * <ul><li>{@link #SHORT} is completely numeric, such as {@code 12.13.52} or {@code 3:30pm}
30.59 + * <li>{@link #MEDIUM} is longer, such as {@code Jan 12, 1952}
30.60 + * <li>{@link #LONG} is longer, such as {@code January 12, 1952} or {@code 3:30:32pm}
30.61 + * <li>{@link #FULL} is pretty completely specified, such as
30.62 + * {@code Tuesday, April 12, 1952 AD or 3:30:42pm PST}.
30.63 * </ul>
30.64 *
30.65 * <p>You can also set the time zone on the format if you wish.
30.66 * If you want even more control over the format or parsing,
30.67 * (or want to give your users more control),
30.68 - * you can try casting the DateFormat you get from the factory methods
30.69 - * to a SimpleDateFormat. This will work for the majority
30.70 - * of countries; just remember to put it in a try block in case you
30.71 + * you can try casting the {@code DateFormat} you get from the factory methods
30.72 + * to a {@link SimpleDateFormat}. This will work for the majority
30.73 + * of countries; just remember to put it in a {@code try} block in case you
30.74 * encounter an unusual one.
30.75 *
30.76 * <p>You can also use forms of the parse and format methods with
30.77 - * ParsePosition and FieldPosition to
30.78 + * {@link ParsePosition} and {@link FieldPosition} to
30.79 * allow you to
30.80 * <ul><li>progressively parse through pieces of a string.
30.81 * <li>align any particular field, or find out where it is for selection
30.82 @@ -143,10 +143,13 @@
30.83 public abstract class DateFormat extends Format {
30.84
30.85 /**
30.86 - * The calendar that <code>DateFormat</code> uses to produce the time field
30.87 - * values needed to implement date and time formatting. Subclasses should
30.88 - * initialize this to a calendar appropriate for the locale associated with
30.89 - * this <code>DateFormat</code>.
30.90 + * The {@link Calendar} instance used for calculating the date-time fields
30.91 + * and the instant of time. This field is used for both formatting and
30.92 + * parsing.
30.93 + *
30.94 + * <p>Subclasses should initialize this field to a {@link Calendar}
30.95 + * appropriate for the {@link Locale} associated with this
30.96 + * <code>DateFormat</code>.
30.97 * @serial
30.98 */
30.99 protected Calendar calendar;
30.100 @@ -358,15 +361,21 @@
30.101
30.102 /**
30.103 * Parse a date/time string according to the given parse position. For
30.104 - * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
30.105 - * that is equivalent to Date(837039928046).
30.106 + * example, a time text {@code "07/10/96 4:5 PM, PDT"} will be parsed into a {@code Date}
30.107 + * that is equivalent to {@code Date(837039900000L)}.
30.108 *
30.109 * <p> By default, parsing is lenient: If the input is not in the form used
30.110 * by this object's format method but can still be parsed as a date, then
30.111 * the parse succeeds. Clients may insist on strict adherence to the
30.112 - * format by calling setLenient(false).
30.113 + * format by calling {@link #setLenient(boolean) setLenient(false)}.
30.114 *
30.115 - * @see java.text.DateFormat#setLenient(boolean)
30.116 + * <p>This parsing operation uses the {@link #calendar} to produce
30.117 + * a {@code Date}. As a result, the {@code calendar}'s date-time
30.118 + * fields and the {@code TimeZone} value may have been
30.119 + * overwritten, depending on subclass implementations. Any {@code
30.120 + * TimeZone} value that has previously been set by a call to
30.121 + * {@link #setTimeZone(java.util.TimeZone) setTimeZone} may need
30.122 + * to be restored for further operations.
30.123 *
30.124 * @param source The date/time string to be parsed
30.125 *
30.126 @@ -374,7 +383,7 @@
30.127 * output, the position at which parsing terminated, or the
30.128 * start position if the parse failed.
30.129 *
30.130 - * @return A Date, or null if the input could not be parsed
30.131 + * @return A {@code Date}, or {@code null} if the input could not be parsed
30.132 */
30.133 public abstract Date parse(String source, ParsePosition pos);
30.134
30.135 @@ -569,7 +578,12 @@
30.136 /**
30.137 * Set the calendar to be used by this date format. Initially, the default
30.138 * calendar for the specified or default locale is used.
30.139 - * @param newCalendar the new Calendar to be used by the date format
30.140 + *
30.141 + * <p>Any {@link java.util.TimeZone TimeZone} and {@linkplain
30.142 + * #isLenient() leniency} values that have previously been set are
30.143 + * overwritten by {@code newCalendar}'s values.
30.144 + *
30.145 + * @param newCalendar the new {@code Calendar} to be used by the date format
30.146 */
30.147 public void setCalendar(Calendar newCalendar)
30.148 {
30.149 @@ -578,6 +592,7 @@
30.150
30.151 /**
30.152 * Gets the calendar associated with this date/time formatter.
30.153 + *
30.154 * @return the calendar associated with this date/time formatter.
30.155 */
30.156 public Calendar getCalendar()
30.157 @@ -605,7 +620,18 @@
30.158 }
30.159
30.160 /**
30.161 - * Sets the time zone for the calendar of this DateFormat object.
30.162 + * Sets the time zone for the calendar of this {@code DateFormat} object.
30.163 + * This method is equivalent to the following call.
30.164 + * <blockquote><pre>
30.165 + * getCalendar().setTimeZone(zone)
30.166 + * </pre></blockquote>
30.167 + *
30.168 + * <p>The {@code TimeZone} set by this method is overwritten by a
30.169 + * {@link #setCalendar(java.util.Calendar) setCalendar} call.
30.170 + *
30.171 + * <p>The {@code TimeZone} set by this method may be overwritten as
30.172 + * a result of a call to the parse method.
30.173 + *
30.174 * @param zone the given new time zone.
30.175 */
30.176 public void setTimeZone(TimeZone zone)
30.177 @@ -615,6 +641,11 @@
30.178
30.179 /**
30.180 * Gets the time zone.
30.181 + * This method is equivalent to the following call.
30.182 + * <blockquote><pre>
30.183 + * getCalendar().getTimeZone()
30.184 + * </pre></blockquote>
30.185 + *
30.186 * @return the time zone associated with the calendar of DateFormat.
30.187 */
30.188 public TimeZone getTimeZone()
30.189 @@ -627,8 +658,17 @@
30.190 * lenient parsing, the parser may use heuristics to interpret inputs that
30.191 * do not precisely match this object's format. With strict parsing,
30.192 * inputs must match this object's format.
30.193 - * @param lenient when true, parsing is lenient
30.194 - * @see java.util.Calendar#setLenient
30.195 + *
30.196 + * <p>This method is equivalent to the following call.
30.197 + * <blockquote><pre>
30.198 + * getCalendar().setLenient(lenient)
30.199 + * </pre></blockquote>
30.200 + *
30.201 + * <p>This leniency value is overwritten by a call to {@link
30.202 + * #setCalendar(java.util.Calendar) setCalendar()}.
30.203 + *
30.204 + * @param lenient when {@code true}, parsing is lenient
30.205 + * @see java.util.Calendar#setLenient(boolean)
30.206 */
30.207 public void setLenient(boolean lenient)
30.208 {
30.209 @@ -637,6 +677,14 @@
30.210
30.211 /**
30.212 * Tell whether date/time parsing is to be lenient.
30.213 + * This method is equivalent to the following call.
30.214 + * <blockquote><pre>
30.215 + * getCalendar().isLenient()
30.216 + * </pre></blockquote>
30.217 + *
30.218 + * @return {@code true} if the {@link #calendar} is lenient;
30.219 + * {@code false} otherwise.
30.220 + * @see java.util.Calendar#isLenient()
30.221 */
30.222 public boolean isLenient()
30.223 {
31.1 --- a/src/share/classes/java/text/SimpleDateFormat.java Thu Apr 22 16:54:34 2010 -0700
31.2 +++ b/src/share/classes/java/text/SimpleDateFormat.java Thu Apr 29 13:53:09 2010 -0700
31.3 @@ -1235,6 +1235,20 @@
31.4 * changed, the error index of <code>pos</code> is set to the index of
31.5 * the character where the error occurred, and null is returned.
31.6 *
31.7 + * <p>This parsing operation uses the {@link DateFormat#calendar
31.8 + * calendar} to produce a {@code Date}. All of the {@code
31.9 + * calendar}'s date-time fields are {@linkplain Calendar#clear()
31.10 + * cleared} before parsing, and the {@code calendar}'s default
31.11 + * values of the date-time fields are used for any missing
31.12 + * date-time information. For example, the year value of the
31.13 + * parsed {@code Date} is 1970 with {@link GregorianCalendar} if
31.14 + * no year value is given from the parsing operation. The {@code
31.15 + * TimeZone} value may be overwritten, depending on the given
31.16 + * pattern and the time zone value in {@code text}. Any {@code
31.17 + * TimeZone} value that has previously been set by a call to
31.18 + * {@link #setTimeZone(java.util.TimeZone) setTimeZone} may need
31.19 + * to be restored for further operations.
31.20 + *
31.21 * @param text A <code>String</code>, part of which should be parsed.
31.22 * @param pos A <code>ParsePosition</code> object with index and error
31.23 * index information as described above.
32.1 --- a/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java Thu Apr 22 16:54:34 2010 -0700
32.2 +++ b/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java Thu Apr 29 13:53:09 2010 -0700
32.3 @@ -870,6 +870,8 @@
32.4 orientation = SwingConstants.HORIZONTAL;
32.5 }
32.6
32.7 + e.consume();
32.8 +
32.9 if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {
32.10 JViewport vp = scrollpane.getViewport();
32.11 if (vp == null) { return; }
33.1 --- a/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java Thu Apr 22 16:54:34 2010 -0700
33.2 +++ b/src/share/classes/javax/swing/plaf/basic/BasicTextUI.java Thu Apr 29 13:53:09 2010 -0700
33.3 @@ -756,9 +756,8 @@
33.4 * things.
33.5 * <ol>
33.6 * <li>
33.7 - * Sets the associated component to opaque (can be changed
33.8 - * easily by a subclass or on JTextComponent directly),
33.9 - * which is the most common case. This will cause the
33.10 + * Sets the associated component to opaque if the opaque property
33.11 + * has not already been set by the client program. This will cause the
33.12 * component's background color to be painted.
33.13 * <li>
33.14 * Installs the default caret and highlighter into the
34.1 --- a/src/share/classes/sun/font/SunFontManager.java Thu Apr 22 16:54:34 2010 -0700
34.2 +++ b/src/share/classes/sun/font/SunFontManager.java Thu Apr 29 13:53:09 2010 -0700
34.3 @@ -2310,6 +2310,7 @@
34.4 tgn != null;
34.5 tg = tgn, tgn = tg.getParent());
34.6 fileCloser = new Thread(tg, fileCloserRunnable);
34.7 + fileCloser.setContextClassLoader(null);
34.8 Runtime.getRuntime().addShutdownHook(fileCloser);
34.9 return null;
34.10 }
35.1 --- a/src/share/classes/sun/java2d/Disposer.java Thu Apr 22 16:54:34 2010 -0700
35.2 +++ b/src/share/classes/sun/java2d/Disposer.java Thu Apr 29 13:53:09 2010 -0700
35.3 @@ -84,6 +84,7 @@
35.4 tg = tgn, tgn = tg.getParent());
35.5 Thread t =
35.6 new Thread(tg, disposerInstance, "Java2D Disposer");
35.7 + t.setContextClassLoader(null);
35.8 t.setDaemon(true);
35.9 t.setPriority(Thread.MAX_PRIORITY);
35.10 t.start();
36.1 --- a/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java Thu Apr 22 16:54:34 2010 -0700
36.2 +++ b/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java Thu Apr 29 13:53:09 2010 -0700
36.3 @@ -417,7 +417,9 @@
36.4 public static void setShutdownHook() {
36.5 AccessController.doPrivileged(new PrivilegedAction() {
36.6 public Object run() {
36.7 - Runtime.getRuntime().addShutdownHook(new TraceReporter());
36.8 + TraceReporter t = new TraceReporter();
36.9 + t.setContextClassLoader(null);
36.10 + Runtime.getRuntime().addShutdownHook(t);
36.11 return null;
36.12 }
36.13 });
37.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
37.2 +++ b/src/share/classes/sun/launcher/resources/launcher_de.properties Thu Apr 29 13:53:09 2010 -0700
37.3 @@ -0,0 +1,47 @@
37.4 +#
37.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
37.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
37.7 +#
37.8 +# This code is free software; you can redistribute it and/or modify it
37.9 +# under the terms of the GNU General Public License version 2 only, as
37.10 +# published by the Free Software Foundation. Sun designates this
37.11 +# particular file as subject to the "Classpath" exception as provided
37.12 +# by Sun in the LICENSE file that accompanied this code.
37.13 +#
37.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
37.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
37.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
37.17 +# version 2 for more details (a copy is included in the LICENSE file that
37.18 +# accompanied this code).
37.19 +#
37.20 +# You should have received a copy of the GNU General Public License version
37.21 +# 2 along with this work; if not, write to the Free Software Foundation,
37.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
37.23 +#
37.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
37.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
37.26 +# have any questions.
37.27 +#
37.28 +
37.29 +# Translators please note do not translate the options themselves
37.30 +java.launcher.opt.header = Verwendung: {0} [-options] class [args...]\n\ (um eine Klasse auszuf\u00fchren)\n oder {0} [-options] -jar jarfile [args...]\n\ (um eine Jar-Datei auszuf\u00fchren)\nwobei zu den Optionen folgende geh\u00f6ren:\n
37.31 +
37.32 +java.launcher.opt.datamodel =\ -d{0}\t zur Verwendung eines {0}-Bit-Datenmodells, falls verf\u00fcgbar\n
37.33 +java.launcher.opt.vmselect =\ {0}\t zur Auswahl von "{1}" VM\n
37.34 +java.launcher.opt.hotspot =\ {0}\t ist ein Synonym f\u00fcr "{1}" VM [deprecated]\n
37.35 +
37.36 +java.launcher.ergo.message1 =\ Standard-VM ist {0},
37.37 +java.launcher.ergo.message2 =\ da Sie auf einem Server-Class-Computer ausf\u00fchren.\n
37.38 +
37.39 +# Translators please note do not translate the options themselves
37.40 +java.launcher.opt.footer =\ -cp <Pfad zur Klassensuche von Verzeichnissen und Zip-/Jar-Dateien>\n\ -classpath <Pfad zur Klassensuche von Verzeichnissen und Zip-/Jar-Dateien >\n\ A {0} getrennte Liste von Verzeichnissen, JAR-Archiven,\n\ und ZIP-Archiven f\u00fcr die Suche nach Klassendateien .\n\ -D<Name>=<Wert>\n\ Systemeigenschaft festlegen\n\ -verbose[:class|gc|jni]\n\ ausf\u00fchrliche Ausgabe aktivieren\n\ -version Produktversion drucken und beenden\n\ -version:<Wert>\n\ angegebene Version zum Ausf\u00fchren erforderlich \n\ -showversion Produktversion drucken und fortfahren\n\ -jre-restrict-search | -jre-no-restrict-search\n\ private JREs der Benutzer in Versionssuche ein-/ausschlie\u00dfen\n\ -? -help diese Hilfemeldung drucken\n\ -X Hilfe zu nicht standardm\u00e4\u00dfigen Optionen drucken\n\ -ea[:<Paketname>...|:<Klassenname>]\n\ -enableassertions[:<Paketname>...|:<Klassenname>]\n\ Assertions mit spezifizierter Granularit\u00e4t aktivieren\n\ -da[:<Paketname>...|:<Klassenname>]\n\ -disableassertions[:<Paketname>...|:<Klassenname>]\n\ Assertions mit spezifizierter Granularit\u00e4t deaktivieren\n\ -esa | --enablesystemassertions\n\ System-Assertions aktivieren\n\ -dsa | --disablesystemassertions\n\ System-Assertions deaktivieren\n\ -agentlib:<Name der Bibliothek>[=<Optionen>]\n\ systemeigene Agent-Bibliothek laden <Name der Bibliothek>, z.B. -agentlib:hprof\n\ siehe auch, -agentlib:jdwp=help und -agentlib:hprof=help\n\ -agentpath:<Pfadname>[=<Optionen>]\n\ systemeigene Agent-Bibliothek \u00fcber vollst\u00e4ndigen Pfadnamen laden\n\ -javaagent:<Jar-Pfad>[=<Optionen>]\n\ Java Programmierungs-Sprachagenten laden, siehe java.lang.instrument\n\ -splash:<Bildpfad>\n\ Eingangsbildschirm mit spezifiziertem Bild anzeigen\nWeitere Informationen finden Sie unter http://java.sun.com/javase/reference.
37.41 +
37.42 +# Translators please note do not translate the options themselves
37.43 +java.launcher.X.usage=\ -Xmixed gemischte Ausf\u00fchrung des Modus (Standard)\n\ -Xint nur interpretierte Ausf\u00fchrung des Modus\n\ -Xbootclasspath:<Verzeichnisse und Zip-/Jar-Dateien, die durch {0} getrennt sind>\n\ Suchpfad f\u00fcr Bootstrap-Klassen und Ressourcen einrichten\n\ -Xbootclasspath/a:<Verzeichnisse und Zip-/Jar-Dateien, die durch {0} getrennt sind>\n\ an das Ende des Bootstrap-Klassenpfads anh\u00e4ngen\n\ -Xbootclasspath/p:<Verzeichnisse und Zip-/Jar-Dateien, die durch {0} getrennt sind>\n\ an den Beginn des Bootstrap-Klassenpfads anh\u00e4ngen\n\ -Xnoclassgc Klassen-Speicherbereinigung deaktivieren\n\ -Xincgc inkrementelle Speicherbereinigung aktivieren\n\ -Xloggc:<Datei> GC-Status f\u00fcr eine Datei mit Zeitstempeln einrichten\n\ -Xbatch Hintergrund-Kompilation deaktivieren\n\ -Xms<Gr\u00f6\u00dfe> anf\u00e4ngliche Java Heap-Gr\u00f6\u00dfe einstellen\n\ -Xmx<Gr\u00f6\u00dfe> maximale Java Heap-Gr\u00f6\u00dfe einstellen\n\ -Xss<Gr\u00f6\u00dfe> Gr\u00f6\u00dfe des Java Thread-Stack einstellen\n\ -Xprof CPU-Profildaten ausgeben\n\ -Xfuture genaueste Pr\u00fcfungen aktivieren und zuk\u00fcnftige Standards absehen\n\ -Xrs Verwendung von OS-Signalen durch Java/VM reduzieren (siehe Dokumentation)\n\ -Xcheck:jni zus\u00e4tzliche Pr\u00fcfungen f\u00fcr JNI- Funktionen ausf\u00fchren\n\ -Xshare:off Nicht versuchen, freigegebene Klassendaten zu verwenden\n\ -Xshare:auto Freigegebene Klassendaten verwenden, wenn m\u00f6glich (Standard)\n\ -Xshare:on Nutzung freigegebener Daten ist erforderlich, ansonsten schl\u00e4gt der Vorgang fehl.\n\nDie -X-Optionen sind kein Standard und k\u00f6nnen \u00c4nderungen unterliegen.\n
37.44 +
37.45 +java.launcher.cls.error1=Fehler: Hauptklasse {0} wurde nicht gefunden
37.46 +java.launcher.cls.error2=Fehler: Hauptmethode in Klasse {1} ist nicht {0}. Definieren Sie die folgende Hauptmethode:\n\ public static void main(String[] args)
37.47 +java.launcher.cls.error3=Fehler: Hauptmethode muss einen Wert des Typs void in Klasse {0} anzeigen.\nDefinieren Sie die folgende Hauptmethode:\n\ public static void main(String[] args)
37.48 +java.launcher.cls.error4=Fehler: Hauptmethode in Klasse {0} nicht gefunden. Definieren Sie die folgende Hauptmethode:\n\ public static void main(String[] args)
37.49 +
37.50 +
38.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
38.2 +++ b/src/share/classes/sun/launcher/resources/launcher_es.properties Thu Apr 29 13:53:09 2010 -0700
38.3 @@ -0,0 +1,47 @@
38.4 +#
38.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
38.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
38.7 +#
38.8 +# This code is free software; you can redistribute it and/or modify it
38.9 +# under the terms of the GNU General Public License version 2 only, as
38.10 +# published by the Free Software Foundation. Sun designates this
38.11 +# particular file as subject to the "Classpath" exception as provided
38.12 +# by Sun in the LICENSE file that accompanied this code.
38.13 +#
38.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
38.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
38.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
38.17 +# version 2 for more details (a copy is included in the LICENSE file that
38.18 +# accompanied this code).
38.19 +#
38.20 +# You should have received a copy of the GNU General Public License version
38.21 +# 2 along with this work; if not, write to the Free Software Foundation,
38.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
38.23 +#
38.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
38.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
38.26 +# have any questions.
38.27 +#
38.28 +
38.29 +# Translators please note do not translate the options themselves
38.30 +java.launcher.opt.header = Uso: {0} [-options] class [args...]\n\ (para ejecutar una clase)\n o {0} [-options] -jar jarfile [args...]\n\ (para ejecutar un archivo jar)\nlas opciones pueden ser:\n
38.31 +
38.32 +java.launcher.opt.datamodel =\ -d{0}\t usar un modelo de datos de {0}-bits si est\u00e1 disponible\n
38.33 +java.launcher.opt.vmselect =\ {0}\t para seleccionar "{1}" VM\n
38.34 +java.launcher.opt.hotspot =\ {0}\t es un sin\u00f3nimo para la m\u00e1quina virtual "{1}" [deprecated]\n
38.35 +
38.36 +java.launcher.ergo.message1 =\ La m\u00e1quina virtual predeterminada es {0}
38.37 +java.launcher.ergo.message2 =\ porque est\u00e1 trabajando en una m\u00e1quina de clase servidor.\n
38.38 +
38.39 +# Translators please note do not translate the options themselves
38.40 +java.launcher.opt.footer =\ -cp <class search path of directories and zip/jar files>\n\ -classpath <class search path of directories and zip/jar files>\n\ Una {0} lista de directorios, archivos JAR,\n\ y archivos ZIP en los que buscar los archivos de clase.\n\ -D<name>=<value>\n\ establecer una propiedad de sistema\n\ -verbose[:class|gc|jni]\n\ permitir la salida detallada\n\ -version imprimir versi\u00f3n del producto y salir\n\ -version:<value>\n\ solicitar la versi\u00f3n especificada para ejecutar\n\ -showversion imprimir versi\u00f3n del producto y continuar\n\ -jre-restrict-search | -jre-no-restrict-search\n\ incluir/excluir JRE privados del usuario en la b\u00fasqueda de la versi\u00f3n\n\ -? -help imprimir este mensaje de ayuda\n\ -X imprimir ayuda en las opciones no est\u00e1ndar\n\ -ea[:<packagename>...|:<classname>]\n\ -enableassertions[:<packagename>...|:<classname>]\n\ permitir afirmaciones con granularidad especificada\n\ -da[:<packagename>...|:<classname>]\n\ -disableassertions[:<packagename>...|:<classname>]\n\ desactivar afirmaciones con granularidad especificada\n\ -esa | -enablesystemassertions\n\ permitir afirmaciones del sistema\n\ -dsa | -disablesystemassertions\n\ desactivar afirmaciones del sistema\n\ -agentlib:<libname>[=<options>]\n\ cargar biblioteca de agente nativo<libname>, por ejemplo -agentlib:hprof\n\ consulte tambi\u00e9n, -agentlib:jdwp=help y -agentlib:hprof=help\n\ -agentpath:<pathname>[=<options>]\n\ cargar biblioteca de agente nativo por ruta completa\n\ -javaagent:<jarpath>[=<options>]\n\ cargar agente del lenguaje de programaci\u00f3n Java, consulte java.lang.instrument\n\ -splash:<imagepath>\n\ mostrar pantalla de bienvenida con imagen especificada\nConsulte http://java.sun.com/javase/reference para m\u00e1s informaci\u00f3n.
38.41 +
38.42 +# Translators please note do not translate the options themselves
38.43 +java.launcher.X.usage=\ -Xmixed modo mixto de ejecuci\u00f3n (predeterminado)\n\ -Xint s\u00f3lo modo de ejecuci\u00f3n interpretado\n\ -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\ definir ruta de b\u00fasqueda para clases y recursos de la rutina de carga\n\ -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\ a\u00f1adir al final de la ruta de clase de la rutina de carga\n\ -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\ a\u00f1adir al principio de la ruta de clase de la rutina de carga\n\ -Xnoclassgc desactivar recolecci\u00f3n de residuos de clase\n\ -Xincgc permitir recolecci\u00f3n de residuos incremental\n\ -Xloggc:<file> registrar estado de GC en un archivo con marcas de tiempo\n\ -Xbatch desactivar recopilaci\u00f3n de fondos\n\ -Xms<size> definir tama\u00f1o del mont\u00f3n de Java inicial\n\ -Xmx<size> definir tama\u00f1o m\u00e1ximo del mont\u00f3n de Java\n\ -Xss<size> definir tama\u00f1o de la pila del subproceso de java\n\ -Xprof salida de datos del perfil de la cpu\n\ -Xfuture permitir comprobaciones m\u00e1s estrictas para los procesos predeterminados futuros\n\ -Xrs reducir el uso de se\u00f1ales del SO por parte de Java o la m\u00e1quina virtual (consulte la documentaci\u00f3n)\n\ -Xcheck:jni realizar comprobaciones adicionales para las funciones de JNI\n\ -Xshare:off no intentar utilizar datos de clase compartidos\n\ -Xshare:auto utilizar datos de clase compartidos siempre que sea posible (predeterminado)\n\ -Xshare:on solicitar el uso obligatorio de datos de clase compartidos.\n\nLas opciones "-X" no son est\u00e1ndar y pueden sufrir modificaciones sin previo aviso.\n
38.44 +
38.45 +java.launcher.cls.error1=Error: no se pudo encontrar la clase principal {0}
38.46 +java.launcher.cls.error2=Error: el m\u00e9todo principal no es {0} en la clase {1}, defina el m\u00e9todo principal como:\n\ public static void main(String[] args)
38.47 +java.launcher.cls.error3=Error: el m\u00e9todo principal debe volver a ser un valor de tipo vac\u00edo en la clase {0}, defina \nel m\u00e9todo principal como:\n\ public static void main(String[] args)
38.48 +java.launcher.cls.error4=Error: m\u00e9todo principal no encontrado en la clase {0}, defina el m\u00e9todo principal como:\n\ public static void main(String[] args)
38.49 +
38.50 +
39.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
39.2 +++ b/src/share/classes/sun/launcher/resources/launcher_fr.properties Thu Apr 29 13:53:09 2010 -0700
39.3 @@ -0,0 +1,47 @@
39.4 +#
39.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
39.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
39.7 +#
39.8 +# This code is free software; you can redistribute it and/or modify it
39.9 +# under the terms of the GNU General Public License version 2 only, as
39.10 +# published by the Free Software Foundation. Sun designates this
39.11 +# particular file as subject to the "Classpath" exception as provided
39.12 +# by Sun in the LICENSE file that accompanied this code.
39.13 +#
39.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
39.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
39.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
39.17 +# version 2 for more details (a copy is included in the LICENSE file that
39.18 +# accompanied this code).
39.19 +#
39.20 +# You should have received a copy of the GNU General Public License version
39.21 +# 2 along with this work; if not, write to the Free Software Foundation,
39.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
39.23 +#
39.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
39.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
39.26 +# have any questions.
39.27 +#
39.28 +
39.29 +# Translators please note do not translate the options themselves
39.30 +java.launcher.opt.header = Utilisation\u00a0: {0} [-options] class [args...]\n\ (pour ex\u00e9cuter une classe)\n ou {0} [-options] -jar jarfile [args...]\n\ (pour ex\u00e9cuter un fichier jar)\no\u00f9 les options sont\u00a0:\n
39.31 +
39.32 +java.launcher.opt.datamodel =\ -d{0}\t utiliser un mod\u00e8le de donn\u00e9es {0}\u00a0bits, le cas \u00e9ch\u00e9ant\n
39.33 +java.launcher.opt.vmselect =\ {0}\t s\u00e9lectionner la machine virtuelle "{1}"\n
39.34 +java.launcher.opt.hotspot =\ {0}\t est un synonyme de la machine virtuelle "{1}" [\u00e0 \u00e9viter]\n
39.35 +
39.36 +java.launcher.ergo.message1 =\ La machine virtuelle par d\u00e9faut est {0}
39.37 +java.launcher.ergo.message2 =\ car vous utilisez une machine de type serveur.\n
39.38 +
39.39 +# Translators please note do not translate the options themselves
39.40 +java.launcher.opt.footer =\ -cp <chemin de recherche de classe des r\u00e9pertoires et fichiers zip/jar>\n\ -classpath <chemin de recherche de classe des r\u00e9pertoires et fichiers zip/jar>\n\ Une liste s\u00e9par\u00e9e {0} de r\u00e9pertoires, archives JAR\n\ et archives ZIP dans laquelle rechercher des fichiers de classe.\n\ -D<nom>=<valeur>\n\ d\u00e9finir une propri\u00e9t\u00e9 syst\u00e8me\n\ -verbose[:class|gc|jni]\n\ activer une sortie d\u00e9taill\u00e9ee\n\ -version imprimer la version du produit et quitter\n\ -version:<valeur>\n\ utiliser la version sp\u00e9cifi\u00e9e pour l''ex\u00e9cution\n\ -showversion imprimer la version du produit et continuer\n\ -jre-restrict-search | -jre-no-restrict-search\n\ inclure/exclure les JRE priv\u00e9s d''utilisateur dans la recherche de version\n\ -? -help imprimer ce message d''aide\n\ -X imprimer l''aide relative aux options non standard\n\ -ea[:<nom du package>...|:<nom de la classe>]\n\ -enableassertions[:<nom du package>...|:<nom de la classe>]\n\ activer les assertions avec la granularit\u00e9 sp\u00e9cifi\u00e9e\n\ -da[:<nom du package>...|:<nom de la classe>]\n\ -disableassertions[:<nom du package>...|:<nom de la classe>]\n\ d\u00e9sactiver les assertions avec la granularit\u00e9 sp\u00e9cifi\u00e9e\n\ -esa | -enablesystemassertions\n\ activer les assertions syst\u00e8me\n\ -dsa | -disablesystemassertions\n\ d\u00e9sactiver les assertions syst\u00e8me\n\ -agentlib:<nom de la biblioth\u00e8que>[=<options>]\n\ charger la biblioth\u00e8que d''agents natifs<nom de la biblioth\u00e8que>, par exemple -agentlib:hprof\n\ voir \u00e9galement, -agentlib:jdwp=help et -agentlib:hprof=help\n\ -agentpath:<nom du chemin>[=<options>]\n\ charger la biblioth\u00e8que d''agents natifs en indiquant le chemin complet\n\ -javaagent:<chemin jar>[=<options>]\n\ charger l''agent de langage de programmation Java, voir java.lang.instrument\n\ -splash:<chemin de l''image>\n\ afficher l''\u00e9cran de bienvenue avec l''image sp\u00e9cifi\u00e9e\nPour plus de d\u00e9tails, reportez-vous \u00e0 la page http://java.sun.com/javase/reference.
39.41 +
39.42 +# Translators please note do not translate the options themselves
39.43 +java.launcher.X.usage=\ -Xmixed ex\u00e9cution du mode compil\u00e9 (par d\u00e9faut)\n\ -Xint ex\u00e9cution du mode interpr\u00e9t\u00e9 uniquement\n\ -Xbootclasspath:<r\u00e9pertoires et fichiers zip/jar s\u00e9par\u00e9s par {0}>\n\ d\u00e9finir le chemin de recherche pour les classes et ressources bootstrap\n\ -Xbootclasspath/a:<r\u00e9pertoires et fichiers zip/jar s\u00e9par\u00e9s par {0}>\n\ ajouter \u00e0 la fin du chemin de la classe bootstrap\n\ -Xbootclasspath/p:<r\u00e9pertoires et fichiers zip/jar s\u00e9par\u00e9s par {0}>\n\ ajouter au d\u00e9but du chemin de la classe bootstrap\n\ -Xnoclassgc d\u00e9sactiver la collection d''informations parasites sur la classe\n\ -Xincgc activer la collection incr\u00e9mentielle d''informations parasites\n\ -Xloggc:<fichier> enregistrer le statut GC dans un fichier horodat\u00e9\n\ -Xbatch d\u00e9sactiver la compilation d''arri\u00e8re-plans\n\ -Xms<taille> d\u00e9finir la taille initiale des tas Java\n\ -Xmx<taille> d\u00e9finir la taille maximale des tas Java\n\ -Xss<taille> d\u00e9finir la taille des piles de fil Java\n\ -Xprof \u00e9mettre des donn\u00e9es de profilage d''UC\n\ -Xfuture activer des contr\u00f4les plus stricts, en anticipant les erreurs futures\n\ -Xrs r\u00e9duire l''utilisation des signaux d''OS par Java/la machine virtuelle (reportez-vous \u00e0 la documentation)\n\ -Xcheck:jni effectuer des contr\u00f4les suppl\u00e9mentaires pour les fonctions JNI\n\ -Xshare:off ne pas tenter d''utiliser les donn\u00e9es de classe partag\u00e9es\n\ -Xshare:auto utiliser les donn\u00e9es de classe partag\u00e9es si possible (par d\u00e9faut)\n\ -Xshare:on forcer l''utilisation de donn\u00e9es de classe partag\u00e9es, sinon \u00e9chec.\n\nLes options\u00a0X ne sont pas standard et sont sujettes \u00e0 modification sans pr\u00e9avis.\n
39.44 +
39.45 +java.launcher.cls.error1=Erreur\u00a0: Impossible de trouver la classe {0} principale
39.46 +java.launcher.cls.error2=Erreur\u00a0: La m\u00e9thode principale n''est pas {0} dans la classe {1}. Veuillez d\u00e9finir la m\u00e9thode principale comme\u00a0:\n\ public static void main(String[] args)
39.47 +java.launcher.cls.error3=Erreur\u00a0: La m\u00e9thode principale doit renvoyer une valeur de type null dans la classe \{0\. Veuillez \nd\u00e9finir la m\u00e9thode principale comme\u00a0:\n\ public static void main(String[] args)
39.48 +java.launcher.cls.error4=Erreur\u00a0: M\u00e9thode principale introuvable dans la classe {0}. Veuillez d\u00e9finir la m\u00e9thode principale comme\u00a0:\n\ public static void main(String[] args)
39.49 +
39.50 +
40.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
40.2 +++ b/src/share/classes/sun/launcher/resources/launcher_it.properties Thu Apr 29 13:53:09 2010 -0700
40.3 @@ -0,0 +1,47 @@
40.4 +#
40.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
40.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
40.7 +#
40.8 +# This code is free software; you can redistribute it and/or modify it
40.9 +# under the terms of the GNU General Public License version 2 only, as
40.10 +# published by the Free Software Foundation. Sun designates this
40.11 +# particular file as subject to the "Classpath" exception as provided
40.12 +# by Sun in the LICENSE file that accompanied this code.
40.13 +#
40.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
40.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
40.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
40.17 +# version 2 for more details (a copy is included in the LICENSE file that
40.18 +# accompanied this code).
40.19 +#
40.20 +# You should have received a copy of the GNU General Public License version
40.21 +# 2 along with this work; if not, write to the Free Software Foundation,
40.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
40.23 +#
40.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
40.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
40.26 +# have any questions.
40.27 +#
40.28 +
40.29 +# Translators please note do not translate the options themselves
40.30 +java.launcher.opt.header = Utilizzo: {0} [-opzioni] class [argom...]\n\ (per eseguire una classe)\n o {0} [-opzioni] -jar jarfile [argom...]\n\ (per eseguire un file jar)\ndove le opzioni includono:\n
40.31 +
40.32 +java.launcher.opt.datamodel =\ -d{0}\t utilizzo di un modello di dati a {0} bit, se disponibile\n
40.33 +java.launcher.opt.vmselect =\ {0}\t per selezionare la macchina virtuale "{1}"\n
40.34 +java.launcher.opt.hotspot =\ {0}\t \u00e8 sinonimo della macchina virtuale "{1}" [obsoleta]\n
40.35 +
40.36 +java.launcher.ergo.message1 =\ La macchina virtuale predefinita \u00e8 {0}
40.37 +java.launcher.ergo.message2 =\ perch\u00e9 l'esecuzione avviene su una macchina di classe server.\n
40.38 +
40.39 +# Translators please note do not translate the options themselves
40.40 +java.launcher.opt.footer =\ -cp <percorso di ricerca classe di directory e file zip/jar>\n\ -classpath <percorso di ricerca classe di directory e file zip/jar>\n\ Elenco separato da {0} di directory, archivi JAR\n\ e archivi ZIP in cui cercare i file di classe.\n\ -D<nome>=<valore>\n\ imposta una propriet\u00e0 di sistema\n\ -verbose[:class|gc|jni]\n\ attiva l''output dettagliato\n\ -version stampa la versione del prodotto ed esce\n\ -version:<valore>\n\ richiede la versione specificata per l''esecuzione\n\ -showversion stampa la versione del prodotto e procede\n\ -jre-restrict-search | -jre-no-restrict-search\n\ consente di includere/escludere JRE privati dell''utente nella ricerca della versione\n\ -? -help stampa il presente messaggio della Guida\n\ -X stampa la Guida delle opzioni non standard\n\ -ea[:<nomepacchetto>...|:<nomeclasse>]\n\ -enableassertions[:<nomepacchetto>...|:<nomeclasse>]\n\ attiva le asserzioni con la granularit\u00e0 specificata\n\ -da[:<nomepacchetto>...|:<nomeclasse>]\n\ -disableassertions[:<nomepacchetto>...|:<nomeclasse>]\n\ disattiva le asserzioni con la granularit\u00e0 specificata\n\ -esa | -enablesystemassertions\n\ attiva le asserzioni di sistema\n\ -dsa | -disablesystemassertions\n\ disattiva le asserzioni di sistema\n\ -agentlib:<nomelibreria>[=<opzioni>]\n\ carica la libreria agente nativa <nomelibreria>, ad es. -agentlib:hprof\n\ vedere anche, -agentlib:jdwp=help e -agentlib:hprof=help\n\ -agentpath:<percorso>[=<opzioni>]\n\ carica la libreria agente nativa in base al percorso completo\n\ -javaagent:<percorsojar>[=<opzioni>]\n\ carica l''agente del linguaggio di programmazione Java, vedere java.lang.instrument\n\ -splash:<percorsoimmagine>\n\ mostra la schermata iniziale con l''immagine specificata\nPer ulteriori informazioni, visitare http://java.sun.com/javase/reference.
40.41 +
40.42 +# Translators please note do not translate the options themselves
40.43 +java.launcher.X.usage=\ -Xmixed esecuzione in modalit\u00e0 mista (predefinita)\n\ -Xint solo esecuzione in modalit\u00e0 interpretata\n\ -Xbootclasspath:<directory e file zip/jar separati da {0}>\n\ imposta il percorso di ricerca per classi e risorse di bootstrap\n\ -Xbootclasspath/a:<directory e file zip/jar separati da {0}>\n\ accoda alla fine del percorso della classe di bootstrap\n\ -Xbootclasspath/p:<directory e file zip/jar separati da {0}>\n\ antepone al percorso della classe di bootsrap\n\ -Xnoclassgc disattiva Garbage Collection per la classe\n\ -Xincgc attiva Garbage Collection incrementale\n\ -Xloggc:<file> registra lo stato GC in un file con timestamp\n\ -Xbatch disattiva la compilazione in background\n\ -Xms<dimensione> imposta la dimensione heap Java iniziale\n\ -Xmx<dimensione> imposta la dimensione heap Java massima\n\ -Xss<dimensione> imposta la dimensione dello stack del thread Java\n\ -Xprof dati di profilo della CPU di output\n\ -Xfuture attiva verifiche pi\u00f9 dettagliate, anticipa le impostazioni predefinite future\n\ -Xrs riduce l''uso di segnali OS da parte di Java o della macchina virtuale (vedere la documentazione)\n\ -Xcheck:jni esegue verifiche aggiuntive per le funzioni JNI\n\ -Xshare:off esclude l''utilizzo di dati classe condivisi\n\ -Xshare:auto imposta l''utilizzo di dati classe condivisi ogni volta che \u00e8 possibile (impostazione predefinita)\n\ -Xshare:on richiede l''utilizzo di dati classe condivisi, in caso contrario origina un errore.\n\nLe opzioni -X sono non standard e soggette a modifiche senza preavviso.\n
40.44 +
40.45 +java.launcher.cls.error1=Errore: Classe principale {0} non trovata.
40.46 +java.launcher.cls.error2=Errore: Il metodo principale non \u00e8 {0} nella classe {1}. Definire il nuovo metodo come:\n\ public static void main(String[] args)
40.47 +java.launcher.cls.error3=Errore: Il metodo principale deve restituire un valore di tipo void nella classe {0}. \nDefinire il nuovo metodo come:\n\ public static void main(String[] args)
40.48 +java.launcher.cls.error4=Errore: Metodo principale non trovato nella classe {0}. Definire il metodo principale come:\n\ public static void main(String[] args)
40.49 +
40.50 +
41.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
41.2 +++ b/src/share/classes/sun/launcher/resources/launcher_ja.properties Thu Apr 29 13:53:09 2010 -0700
41.3 @@ -0,0 +1,47 @@
41.4 +#
41.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
41.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
41.7 +#
41.8 +# This code is free software; you can redistribute it and/or modify it
41.9 +# under the terms of the GNU General Public License version 2 only, as
41.10 +# published by the Free Software Foundation. Sun designates this
41.11 +# particular file as subject to the "Classpath" exception as provided
41.12 +# by Sun in the LICENSE file that accompanied this code.
41.13 +#
41.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
41.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
41.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
41.17 +# version 2 for more details (a copy is included in the LICENSE file that
41.18 +# accompanied this code).
41.19 +#
41.20 +# You should have received a copy of the GNU General Public License version
41.21 +# 2 along with this work; if not, write to the Free Software Foundation,
41.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
41.23 +#
41.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
41.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
41.26 +# have any questions.
41.27 +#
41.28 +
41.29 +# Translators please note do not translate the options themselves
41.30 +java.launcher.opt.header = \u4f7f\u7528\u6cd5: {0} [-options] class [args...]\n\ (\u30af\u30e9\u30b9\u3092\u5b9f\u884c\u3059\u308b)\n \u307e\u305f\u306f {0} [-options] -jar jarfile [args...]\n\ (jar \u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3059\u308b)\n\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u306f\u4ee5\u4e0b\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u3059:\n
41.31 +
41.32 +java.launcher.opt.datamodel =\ -d{0}\t {0}-bit \u30c7\u30fc\u30bf\u30e2\u30c7\u30eb\u3092\u4f7f\u7528 (\u53ef\u80fd\u306a\u5834\u5408)\n
41.33 +java.launcher.opt.vmselect =\ {0}\t "{1}" VM \u3092\u9078\u629e\n
41.34 +java.launcher.opt.hotspot =\ {0}\t "{1}" VM \u306e\u540c\u7fa9\u8a9e\u3067\u3059 [\u975e\u63a8\u5968]\n
41.35 +
41.36 +java.launcher.ergo.message1 =\ \u30c7\u30d5\u30a9\u30eb\u30c8 VM \u306f {0} \u3067\u3059
41.37 +java.launcher.ergo.message2 =\ \u7406\u7531\u306f\u3001\u30b5\u30fc\u30d0\u30fc\u30af\u30e9\u30b9\u306e\u30de\u30b7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3089\u3067\u3059\u3002\n
41.38 +
41.39 +# Translators please note do not translate the options themselves
41.40 +java.launcher.opt.footer =\ -cp <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304a\u3088\u3073 ZIP/JAR \u30d5\u30a1\u30a4\u30eb\u306e\u30af\u30e9\u30b9\u691c\u7d22\u30d1\u30b9>\n\ -classpath <\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304a\u3088\u3073 ZIP/JAR \u30d5\u30a1\u30a4\u30eb\u306e\u30af\u30e9\u30b9\u691c\u7d22\u30d1\u30b9>\n\ \u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3001JAR \u30a2\u30fc\u30ab\u30a4\u30d6\u3001\n\ \u304a\u3088\u3073 ZIP \u30a2\u30fc\u30ab\u30a4\u30d6\u306e {0} \u3067\u5206\u5272\u3055\u308c\u305f\u30ea\u30b9\u30c8\u3002\n\ -D<name>=<value>\n\ \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306e\u8a2d\u5b9a\n\ -verbose[:class|gc|jni]\n\ \u8a73\u7d30\u51fa\u529b\u306e\u6709\u52b9\u5316\n\ -version \u88fd\u54c1\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5370\u5237\u3057\u3066\u7d42\u4e86\n\ -version:<value>\n\ \u5b9f\u884c\u306b\u5fc5\u8981\u306a\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u8981\u6c42\n\ -showversion \u88fd\u54c1\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5370\u5237\u3057\u3066\u7d99\u7d9a\n\ -jre-restrict-search | -jre-no-restrict-search\n\ \u30d0\u30fc\u30b8\u30e7\u30f3\u691c\u7d22\u306b\u30e6\u30fc\u30b6\u30fc\u306e\u975e\u516c\u958b JRE \u3092\u542b\u3081\u308b\u304b\u9664\u5916\u3059\u308b\u304b\u3092\u5207\u308a\u66ff\u3048\u308b\n\ -? -help \u3053\u306e\u30d8\u30eb\u30d7\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5370\u5237\n\ -X \u975e\u6a19\u6e96\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u30d8\u30eb\u30d7\u3092\u5370\u5237\n\ -ea[:<packagename>...|:<classname>]\n\ -enableassertions[:<packagename>...|:<classname>]\n\ \u6307\u5b9a\u3057\u305f\u7c92\u5ea6\u3067\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u5316\n\ -da[:<packagename>...|:<classname>]\n\ -disableassertions[:<packagename>...|:<classname>]\n\ \u6307\u5b9a\u3057\u305f\u7c92\u5ea6\u3067\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\ -esa | -enablesystemassertions\n\ \u30b7\u30b9\u30c6\u30e0\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u5316\n\ -dsa | -disablesystemassertions\n\ \u30b7\u30b9\u30c6\u30e0\u30a2\u30b5\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\ -agentlib:<libname>[=<options>]\n\ \u30cd\u30a4\u30c6\u30a3\u30d6\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea <libname> (\u4f8b: -agentlib:hprof) \u3092\u30ed\u30fc\u30c9\n\ \u95a2\u9023\u9805\u76ee\u3001 -agentlib:jdwp=help and -agentlib:hprof=help\n\ -agentpath:<pathname>[=<options>]\n\ \u5b8c\u5168\u306a\u30d1\u30b9\u540d\u3067\u30cd\u30a4\u30c6\u30a3\u30d6\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u30ed\u30fc\u30c9\n\ -javaagent:<jarpath>[=<options>]\n\ Java \u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u30ed\u30fc\u30c9\u3002java.lang.instrument \u3092\u53c2\u7167\n\ -splash:<imagepath>\n\ \u6307\u5b9a\u3057\u305f\u753b\u50cf\u306e\u30b9\u30d7\u30e9\u30c3\u30b7\u30e5\u753b\u9762\u3092\u8868\u793a\n\u8a73\u7d30\u306f http://java.sun.com/javase/reference \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
41.41 +
41.42 +# Translators please note do not translate the options themselves
41.43 +java.launcher.X.usage=\ -Xmixed \u6df7\u5408\u30e2\u30fc\u30c9\u3067\u306e\u5b9f\u884c (\u30c7\u30d5\u30a9\u30eb\u30c8)\n\ -Xint \u30a4\u30f3\u30bf\u30fc\u30d7\u30ea\u30bf\u30e2\u30fc\u30c9\u3067\u306e\u307f\u5b9f\u884c\n\ -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\ \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u304a\u3088\u3073\u30ea\u30bd\u30fc\u30b9\u306e\u691c\u7d22\u30d1\u30b9\u3092\u8a2d\u5b9a\n\ -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\ \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306e\u30d1\u30b9\u306e\u672b\u5c3e\u306b\u8ffd\u52a0\n\ -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\ \u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u30af\u30e9\u30b9\u306e\u30d1\u30b9\u306e\u5192\u982d\u306b\u8ffd\u52a0\n\ -Xnoclassgc \u30af\u30e9\u30b9\u30ac\u30fc\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\ -Xincgc \u5897\u5206\u30ac\u30fc\u30d9\u30fc\u30b8\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u5316\n\ -Xloggc:<file> \u30d5\u30a1\u30a4\u30eb\u306e GC \u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u4ed8\u304d\u3067\u8a18\u9332\n\ -Xbatch \u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u30b3\u30f3\u30d1\u30a4\u30eb\u3092\u7121\u52b9\u5316\n\ -Xms<size> \u521d\u671f Java \u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u3092\u8a2d\u5b9a\n\ -Xmx<size> \u6700\u5927 Java \u30d2\u30fc\u30d7\u30b5\u30a4\u30ba\u3092\u8a2d\u5b9a\n\ -Xss<size> Java \u30b9\u30ec\u30c3\u30c9\u30b9\u30bf\u30c3\u30af\u30b5\u30a4\u30ba\u3092\u8a2d\u5b9a\n\ -Xprof CPU \u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0\u30c7\u30fc\u30bf\u3092\u51fa\u529b\n\ -Xfuture \u4eca\u5f8c\u30c7\u30d5\u30a9\u30eb\u30c8\u3068\u3059\u308b\u6700\u3082\u53b3\u683c\u306a\u30c1\u30a7\u30c3\u30af\u3092\u6709\u52b9\u5316\n\ -Xrs Java/VM \u306e OS \u30b7\u30b0\u30ca\u30eb\u4f7f\u7528\u3092\u524a\u6e1b (\u30de\u30cb\u30e5\u30a2\u30eb\u3092\u53c2\u7167)\n\ -Xcheck:jni JNI \u95a2\u6570\u306e\u8ffd\u52a0\u30c1\u30a7\u30c3\u30af\u3092\u5b9f\u884c\n\ -Xshare:off \u5171\u6709\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u306e\u4f7f\u7528\u3092\u8a66\u884c\u3057\u306a\u3044\n\ -Xshare:auto \u53ef\u80fd\u306a\u5834\u5408\u306f\u5171\u6709\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u3092\u4f7f\u7528 (\u30c7\u30d5\u30a9\u30eb\u30c8)\n\ -Xshare:on \u5171\u6709\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u306e\u4f7f\u7528\u3092\u8981\u6c42 (\u305d\u3046\u3057\u306a\u3044\u3068\u969c\u5bb3\u304c\u767a\u751f\u3059\u308b\u5834\u5408)\n\n-X \u30aa\u30d7\u30b7\u30e7\u30f3\u306f\u975e\u6a19\u6e96\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3042\u308a\u3001\u4e88\u544a\u306a\u304f\u5909\u66f4\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\n
41.44 +
41.45 +java.launcher.cls.error1=\u30a8\u30e9\u30fc: \u30e1\u30a4\u30f3\u30af\u30e9\u30b9 {0} \u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
41.46 +java.launcher.cls.error2=\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9 {1} \u3067\u3001\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u304c {0} \u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044:\n\ public static void main(String[] args)
41.47 +java.launcher.cls.error3=\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9 {0} \u3067\u3001\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u306f void \u578b\u306e\u5024\u3092\u8fd4\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\n\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044:\n\ public static void main(String[] args)
41.48 +java.launcher.cls.error4=\u30a8\u30e9\u30fc: \u30af\u30e9\u30b9 {1} \u3067\u3001\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002\u30e1\u30a4\u30f3\u30e1\u30bd\u30c3\u30c9\u3092\u6b21\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u3066\u304f\u3060\u3055\u3044:\n\ public static void main(String[] args)
41.49 +
41.50 +
42.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
42.2 +++ b/src/share/classes/sun/launcher/resources/launcher_ko.properties Thu Apr 29 13:53:09 2010 -0700
42.3 @@ -0,0 +1,47 @@
42.4 +#
42.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
42.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
42.7 +#
42.8 +# This code is free software; you can redistribute it and/or modify it
42.9 +# under the terms of the GNU General Public License version 2 only, as
42.10 +# published by the Free Software Foundation. Sun designates this
42.11 +# particular file as subject to the "Classpath" exception as provided
42.12 +# by Sun in the LICENSE file that accompanied this code.
42.13 +#
42.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
42.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
42.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
42.17 +# version 2 for more details (a copy is included in the LICENSE file that
42.18 +# accompanied this code).
42.19 +#
42.20 +# You should have received a copy of the GNU General Public License version
42.21 +# 2 along with this work; if not, write to the Free Software Foundation,
42.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
42.23 +#
42.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
42.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
42.26 +# have any questions.
42.27 +#
42.28 +
42.29 +# Translators please note do not translate the options themselves
42.30 +java.launcher.opt.header = \uc0ac\uc6a9\ubc95: {0} [-options] class [args...]\n\ (\ud074\ub798\uc2a4 \uc2e4\ud589)\n \ub610\ub294 {0} [-options] -jar jarfile [args...]\n\ (jar \ud30c\uc77c \uc2e4\ud589)\n\uc635\uc158:\n
42.31 +
42.32 +java.launcher.opt.datamodel =\ -d{0}\t \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uacbd\uc6b0 {0}\ube44\ud2b8 \ub370\uc774\ud130 \ubaa8\ub378 \uc0ac\uc6a9\n
42.33 +java.launcher.opt.vmselect =\ {0}\t "{1}" VM \uc120\ud0dd \uc2dc\n
42.34 +java.launcher.opt.hotspot =\ {0}\t "{1}" VM[\ub354 \uc774\uc0c1 \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc74c]\uacfc \ub3d9\uc77c \n
42.35 +
42.36 +java.launcher.ergo.message1 =\ \uae30\ubcf8 VM\uc740 {0}\uc784
42.37 +java.launcher.ergo.message2 =\ \uadf8 \uc774\uc720\ub294 \uc11c\ubc84 \ud074\ub798\uc2a4 \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc2e4\ud589 \uc911\uc774\uae30 \ub54c\ubb38\uc785\ub2c8\ub2e4.\n
42.38 +
42.39 +# Translators please note do not translate the options themselves
42.40 +java.launcher.opt.footer =\ -cp <\ub514\ub809\ud1a0\ub9ac \ubc0f zip/jar \ud30c\uc77c\uc758 \ud074\ub798\uc2a4 \uac80\uc0c9 \uacbd\ub85c>\n\ -classpath <\ub514\ub809\ud1a0\ub9ac \ubc0f zip/jar \ud30c\uc77c\uc758 \ud074\ub798\uc2a4 \uac80\uc0c9 \uacbd\ub85c>\n\ \ud074\ub798\uc2a4 \ud30c\uc77c\uc744 \uac80\uc0c9\ud558\uae30 \uc704\ud55c \ub514\ub809\ud1a0\ub9ac, JAR \uc544\uce74\uc774\ube0c \ubc0f\n\ ZIP \uc544\uce74\uc774\ube0c\uc758 {0} \uad6c\ubd84\ub41c \ubaa9\ub85d\uc785\ub2c8\ub2e4.\n\ -D<name>=<value>\n\ \uc2dc\uc2a4\ud15c \ub4f1\ub85d \uc815\ubcf4 \uc124\uc815\n\ -verbose[:class|gc|jni]\n\ \ucd94\uac00 \ucd9c\ub825 \uc0ac\uc6a9\n\ -version \uc81c\ud488 \ubc84\uc804\uc744 \uc778\uc1c4\ud558\uace0 \uc885\ub8cc\n\ -version:<value>\n\ \uc2e4\ud589\ud558\ub824\uba74 \uc9c0\uc815\ud55c \ubc84\uc804 \ud544\uc694\n\ -showversion \uc81c\ud488 \ubc84\uc804\uc744 \uc778\uc1c4\ud558\uace0 \uacc4\uc18d\n\ -jre-restrict-search | -jre-no-restrict-search\n\ \ubc84\uc804 \uac80\uc0c9\uc5d0\uc11c \uc0ac\uc6a9\uc790 \uac1c\uc778 JRE \ud3ec\ud568/\uc81c\uc678\n\ -? -help \uc774 \ub3c4\uc6c0\ub9d0 \uba54\uc2dc\uc9c0 \uc778\uc1c4\n\ -X \ube44\ud45c\uc900 \uc635\uc158\uc5d0 \ub300\ud55c \ub3c4\uc6c0\ub9d0 \uc778\uc1c4\n\ -ea[:<packagename>...|:<classname>]\n\ -enableassertions[:<packagename>...|:<classname>]\n\ \uc9c0\uc815\ud55c \uc815\ubc00\ub3c4\uc758 \uba85\uc81c \uc0ac\uc6a9\n\ -da[:<packagename>...|:<classname>]\n\ -disableassertions[:<packagename>...|:<classname>]\n\ \uc9c0\uc815\ud55c \uc815\ubc00\ub3c4\uc758 \uba85\uc81c \uc0ac\uc6a9 \uc548 \ud568\n\ -esa | -enablesystemassertions\n\ \uc2dc\uc2a4\ud15c \uba85\uc81c \uc0ac\uc6a9\n\ -dsa | -disablesystemassertions\n\ \uc2dc\uc2a4\ud15c \uba85\uc81c \uc0ac\uc6a9 \uc548 \ud568\n\ -agentlib:<libname>[=<options>]\n\ \uc6d0\uc2dc \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac <libname> \ub85c\ub4dc, \uc608: -agentlib:hprof\n\ \ucc38\uc870: -agentlib:jdwp=help \ubc0f -agentlib:hprof=help\n\ -agentpath:<pathname>[=<options>]\n\ \uc804\uccb4 \uacbd\ub85c \uc774\ub984\uc73c\ub85c \uc6d0\uc2dc \uc5d0\uc774\uc804\ud2b8 \ub77c\uc774\ube0c\ub7ec\ub9ac \ub85c\ub4dc\n\ -javaagent:<jarpath>[=<options>]\n\ Java \ud504\ub85c\uadf8\ub798\ubc0d \uc5b8\uc5b4 \uc5d0\uc774\uc804\ud2b8 \ub85c\ub4dc, java.lang.instrument \ucc38\uc870\n\ -splash:<imagepath>\n\ \uc9c0\uc815\ud55c \uc774\ubbf8\uc9c0\uc758 \uc2a4\ud50c\ub798\uc2dc \ud654\uba74 \ud45c\uc2dc\n\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 http://java.sun.com/javase/reference\ub97c \ucc38\uc870\ud558\uc2ed\uc2dc\uc624.
42.41 +
42.42 +# Translators please note do not translate the options themselves
42.43 +java.launcher.X.usage=\ -Xmixed \ud63c\ud569 \ubaa8\ub4dc \uc2e4\ud589(\uae30\ubcf8\uac12)\n\ -Xint \ud574\uc11d\ub41c \ubaa8\ub4dc \uc2e4\ud589 \uc804\uc6a9\n\ -Xbootclasspath:<directories and zip/jar files separated by {0}>\n\ \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \ud074\ub798\uc2a4\uc640 \uc790\uc6d0\uc758 \uac80\uc0c9 \uacbd\ub85c \uc124\uc815\n\ -Xbootclasspath/a:<directories and zip/jar files separated by {0}>\n\ \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \ud074\ub798\uc2a4 \uacbd\ub85c \ub05d\uc5d0 \ucd94\uac00\n\ -Xbootclasspath/p:<directories and zip/jar files separated by {0}>\n\ \ubd80\ud2b8\uc2a4\ud2b8\ub7a9 \ud074\ub798\uc2a4 \uacbd\ub85c \uc55e\uc5d0 \ucd94\uac00\n\ -Xnoclassgc \ud074\ub798\uc2a4 \uac00\ube44\uc9c0 \uceec\ub809\uc158 \uc0ac\uc6a9 \uc548 \ud568\n\ -Xincgc \uc99d\ubd84 \uac00\ube44\uc9c0 \uceec\ub809\uc158 \uc0ac\uc6a9\n\ -Xloggc:<file> GC \uc0c1\ud0dc\ub97c \ud0c0\uc784 \uc2a4\ud0ec\ud504\uc640 \ud568\uaed8 \ud30c\uc77c\uc5d0 \ub85c\uadf8\n\ -Xbatch \ubc31\uadf8\ub77c\uc6b4\ub4dc \ucef4\ud30c\uc77c \uc0ac\uc6a9 \uc548 \ud568\n\ -Xms<size> \ucd08\uae30 Java \ud799 \ud06c\uae30 \uc124\uc815\n\ -Xmx<size> \ucd5c\ub300 Java \ud799 \ud06c\uae30 \uc124\uc815\n\ -Xss<size> java \uc2a4\ub808\ub4dc \uc2a4\ud0dd \ud06c\uae30 \uc124\uc815\n\ -Xprof cpu \ud504\ub85c\ud30c\uc77c\ub9c1 \ub370\uc774\ud130 \ucd9c\ub825\n\ -Xfuture \ubbf8\ub798 \uae30\ubcf8\uac12\uc744 \uc608\uce21\ud558\uc5ec \uac00\uc7a5 \uc5c4\uaca9\ud55c \uac80\uc0ac \uc0ac\uc6a9\n\ -Xrs Java/VM\uc5d0 \uc758\ud55c OS \uc2e0\ud638 \uc0ac\uc6a9 \uac10\uc18c(\uc124\uba85\uc11c \ucc38\uc870)\n\ -Xcheck:jni JNI \uae30\ub2a5\uc5d0 \ub300\ud55c \ucd94\uac00\uc801\uc778 \uac80\uc0ac \uc218\ud589\n\ -Xshare:off \uacf5\uc720\ub41c \ud074\ub798\uc2a4 \ub370\uc774\ud130\uc758 \uc0ac\uc6a9\uc744 \uc2dc\ub3c4\ud558\uc9c0 \uc54a\uc74c\n\ -Xshare:auto \uac00\ub2a5\ud55c \uacbd\uc6b0 \uacf5\uc720\ub41c \ud074\ub798\uc2a4 \ub370\uc774\ud130 \uc0ac\uc6a9(\uae30\ubcf8\uac12)\n\ -Xshare:on \uacf5\uc720\ub41c \ud074\ub798\uc2a4 \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\uba70 \uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \uc2e4\ud328.\n\n-X \uc635\uc158\uc740 \ud45c\uc900\uc774 \uc544\ub2c8\uba70 \uc54c\ub9bc \uc5c6\uc774 \ubcc0\uacbd\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n
42.44 +
42.45 +java.launcher.cls.error1=\uc624\ub958: \uae30\ubcf8 \ud074\ub798\uc2a4 {0}\uc744(\ub97c) \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
42.46 +java.launcher.cls.error2=\uc624\ub958: \ud575\uc2ec \uba54\uc18c\ub4dc\uac00 \ud074\ub798\uc2a4 {1}\uc758 {0}\uc774(\uac00) \uc544\ub2d9\ub2c8\ub2e4. \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud558\uc2ed\uc2dc\uc624.\n\ public static void main(String[] args)
42.47 +java.launcher.cls.error3=\uc624\ub958: \ud575\uc2ec \uba54\uc18c\ub4dc\ub294 \ud074\ub798\uc2a4 {0}\uc758 void \uc720\ud615\uc758 \uac12\uc744 \ubc18\ud658\ud574\uc57c \ud569\ub2c8\ub2e4.\n\ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud558\uc2ed\uc2dc\uc624.\n\ public static void main(String[] args)
42.48 +java.launcher.cls.error4=\uc624\ub958: \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ud074\ub798\uc2a4 {0}\uc5d0\uc11c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud575\uc2ec \uba54\uc18c\ub4dc\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \uc815\uc758\ud558\uc2ed\uc2dc\uc624.\n\ public static void main(String[] args)
42.49 +
42.50 +
43.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
43.2 +++ b/src/share/classes/sun/launcher/resources/launcher_sv.properties Thu Apr 29 13:53:09 2010 -0700
43.3 @@ -0,0 +1,47 @@
43.4 +#
43.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
43.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
43.7 +#
43.8 +# This code is free software; you can redistribute it and/or modify it
43.9 +# under the terms of the GNU General Public License version 2 only, as
43.10 +# published by the Free Software Foundation. Sun designates this
43.11 +# particular file as subject to the "Classpath" exception as provided
43.12 +# by Sun in the LICENSE file that accompanied this code.
43.13 +#
43.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
43.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
43.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
43.17 +# version 2 for more details (a copy is included in the LICENSE file that
43.18 +# accompanied this code).
43.19 +#
43.20 +# You should have received a copy of the GNU General Public License version
43.21 +# 2 along with this work; if not, write to the Free Software Foundation,
43.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
43.23 +#
43.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
43.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
43.26 +# have any questions.
43.27 +#
43.28 +
43.29 +# Translators please note do not translate the options themselves
43.30 +java.launcher.opt.header = Anv\u00e4ndning: {0} [-alternativ] class [arg...]\n\ (f\u00f6r att k\u00f6ra en klass)\n or {0} [-alternativ] -jar jarfile [arg...]\n\ (f\u00f6r att k\u00f6ra en jar-fil)\nbland alternativen kan n\u00e4mnas:\n
43.31 +
43.32 +java.launcher.opt.datamodel =\ -d{0}\t anv\u00e4nd en {0}-bitars datamodell om den finns tillg\u00e4nglig\n
43.33 +java.launcher.opt.vmselect =\ {0}\t f\u00f6r att v\u00e4lja "{1}" VM\n
43.34 +java.launcher.opt.hotspot =\ {0}\t \u00e4r liktydigt med "{1}"-VM [utfasad]\n
43.35 +
43.36 +java.launcher.ergo.message1 =\ Standard-VM \u00e4r {0}
43.37 +java.launcher.ergo.message2 =\ eftersom du k\u00f6r p\u00e5 en dator med server-klass.\n
43.38 +
43.39 +# Translators please note do not translate the options themselves
43.40 +java.launcher.opt.footer =\ -cp <klass\u00f6kv\u00e4g till kataloger och zip-/jar-filers>\n\ -classpath <klass\u00f6kv\u00e4g till kataloger och zip-/jar-filer>\n\ en med {0} avgr\u00e4nsad lista \u00f6ver kataloger, JAR-arkiv\n\ och ZIP-arkiv f\u00f6r s\u00f6kning efter klassfiler.\n\ -D<namn>=<v\u00e4rde>\n\ ange en systemegenskap\n\ -verbose[:klass|gc|jni]\n\ visa mer text\n\ -version skriv ut produktversionen och avsluta\n\ -version:<value>\n\ kr\u00e4ver den angivna versionen f\u00f6r att kunna k\u00f6ras\n\ -showversion skriv ut produktversion och forts\u00e4tt\n\ -jre-restrict-search | -jre-no-restrict-search\n\ inkludera/exkludera anv\u00e4ndarens privata JRE-filer i versionss\u00f6kningen\n\ -? -help skriver ut det h\u00e4r hj\u00e4lpmeddelandet\n\ -X skriv ut hj\u00e4lp f\u00f6r alternativ som inte \u00e4r standard\n\ -ea[:<paketnamn>...|:<klassnamn>]\n\ -enableassertions[:<paketnamn>...|:<klassnamn>]\n\ aktivera bekr\u00e4ftelser med angiven precision\n\ -da[:<paketnamn>...|:<klassnamn>]\n\ -disableassertions[:<paketnamn>...|:<klassnamn>]\n\ inaktivera bekr\u00e4ftelser med angiven precision\n\ -esa | -enablesystemassertions\n\ aktivera systembekr\u00e4ftelser\n\ -dsa | -disablesystemassertions\n\ inaktivera systembekr\u00e4ftelser\n\ -agentlib:<biblnamn>[=<alternativ>]\n\ l\u00e4s in det interna agentbiblioteket <biblnamn>, t.ex. -agentlib:hprof\n\ se \u00e4ven, -agentlib:jdwp=help och -agentlib:hprof=help\n\ -agentpath:<filnamn>[=<alternativ>]\n\ l\u00e4s in internt agentbibliotek utifr\u00e5n fullst\u00e4ndig s\u00f6kv\u00e4g\n\ -javaagent:<jar-s\u00f6kv\u00e4g>[=<alternativ>]\n\ l\u00e4s in agenten f\u00f6r programmeringsspr\u00e5ket Java, se java.lang.instrument\n\ -splash:<bilds\u00f6kv\u00e4g>\n\ visa v\u00e4lkomstf\u00f6nster med angiven bild\nMer information finns p\u00e5 http://java.sun.com/javase/reference.
43.41 +
43.42 +# Translators please note do not translate the options themselves
43.43 +java.launcher.X.usage=\ -Xmixed k\u00f6rning i blandat l\u00e4ge (standard)\n\ -Xint endast k\u00f6rning i tolkat l\u00e4ge\n\ -Xbootclasspath:<kataloger och zip-/jar-filer som avgr\u00e4nsas med {0}>\n\ ange s\u00f6kv\u00e4g f\u00f6r bootstrap-klasser och -resurser\n\ -Xbootclasspath/a:<kataloger och zip-/jar-filer som avgr\u00e4nsas med {0}>\n\ l\u00e4gg till p\u00e5 slutet av s\u00f6kv\u00e4gen till bootstrap-klassen\n\ -Xbootclasspath/p:<kataloger och zip-/jar-filer som avgr\u00e4nsas med {0}>\n\ l\u00e4gg till i b\u00f6rjan av s\u00f6kv\u00e4gen till bootstrap-klassen\n\ -Xnoclassgc inaktivera skr\u00e4pinsamling f\u00f6r klass\n\ -Xincgc aktivera inkrementell skr\u00e4pinsaming\n\ -Xloggc:<file> logga GC-status till en fil med tidsst\u00e4mpel\n\ -Xbatch inaktivera kompilering i bakgrunden\n\ -Xms<size> st\u00e4ll in ursprunglig heapstorlek f\u00f6r Java\n\ -Xmx<size> st\u00e4ll in st\u00f6rsta heapstorlek f\u00f6r Java\n\ -Xss<size> st\u00e4ll in tr\u00e5dstackens storlek f\u00f6r Java\n\ -Xprof visa profileringsdata om processorn\n\ -Xfuture aktivera de mest rigor\u00f6sa kontrollerna och f\u00f6regrip framtida standardl\u00e4ge\n\ -Xrs minska anv\u00e4ndningen av signaler fr\u00e5n operativsystemet i Java/VM (mer information finns i dokumentationen)\n\ -Xcheck:jni utf\u00f6r ytterligare kontroller f\u00f6r JNI-funktioner\n\ -Xshare:off f\u00f6rs\u00f6k inte att anv\u00e4nda delade klassdata\n\ -Xshare:auto anv\u00e4nd om m\u00f6jligt delade klassdata (standard)\n\ -Xshare:on kr\u00e4v att delade klassdata anv\u00e4nds, skicka fel om s\u00e5 inte \u00e4r fallet.\n\n -X-alternativen betraktas inte som standard och kan \u00e4ndras utan att detta meddelas.\n
43.44 +
43.45 +java.launcher.cls.error1=Fel: Det g\u00e5r inte att hitta klassen main {0}
43.46 +java.launcher.cls.error2=Fel: Metoden i main \u00e4r inte {0} i klass {1}. Ange huvudmetoden som:\n\ public static void main(String[] args)
43.47 +java.launcher.cls.error3=Fel: Metoden i main m\u00e5ste returnera ett v\u00e4rde av typen void i klass {0}. Definiera \nmetoden i main som:\n\ public static void main(String[] args)
43.48 +java.launcher.cls.error4=Fel: Klass {0} saknar metod i main. Definiera metoden som:\n\ public static void main(String[] args)
43.49 +
43.50 +
44.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
44.2 +++ b/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties Thu Apr 29 13:53:09 2010 -0700
44.3 @@ -0,0 +1,47 @@
44.4 +#
44.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
44.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44.7 +#
44.8 +# This code is free software; you can redistribute it and/or modify it
44.9 +# under the terms of the GNU General Public License version 2 only, as
44.10 +# published by the Free Software Foundation. Sun designates this
44.11 +# particular file as subject to the "Classpath" exception as provided
44.12 +# by Sun in the LICENSE file that accompanied this code.
44.13 +#
44.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
44.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
44.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
44.17 +# version 2 for more details (a copy is included in the LICENSE file that
44.18 +# accompanied this code).
44.19 +#
44.20 +# You should have received a copy of the GNU General Public License version
44.21 +# 2 along with this work; if not, write to the Free Software Foundation,
44.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
44.23 +#
44.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
44.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
44.26 +# have any questions.
44.27 +#
44.28 +
44.29 +# Translators please note do not translate the options themselves
44.30 +java.launcher.opt.header = \u7528\u6cd5\uff1a{0} [-\u9009\u9879] class [\u53c2\u6570...]\n\ \uff08\u6267\u884c\u4e00\u4e2a\u7c7b\uff09\n \u6216 {0} [-\u9009\u9879] -jar jarfile [\u53c2\u6570...]\n\ \uff08\u6267\u884c\u4e00\u4e2a jar \u6587\u4ef6\uff09\n\u5176\u4e2d\uff0c\u9009\u9879\u5305\u62ec\uff1a\n
44.31 +
44.32 +java.launcher.opt.datamodel =\ -d{0}\t \u4f7f\u7528\u4e00\u4e2a {0} \u4f4d\u6570\u636e\u6a21\u578b\uff08\u5982\u679c\u53ef\u7528\uff09\n
44.33 +java.launcher.opt.vmselect =\ {0}\t \u9009\u62e9 "{1}" VM\n
44.34 +java.launcher.opt.hotspot =\ {0}\t \u4e3a "{1}" VM \u7684\u540c\u4e49\u8bcd [\u5df2\u8fc7\u65f6]\n
44.35 +
44.36 +java.launcher.ergo.message1 =\ \u9ed8\u8ba4\u7684 VM \u4e3a {0}
44.37 +java.launcher.ergo.message2 =\ \u56e0\u4e3a\u60a8\u662f\u5728\u670d\u52a1\u5668\u7c7b\u8ba1\u7b97\u673a\u4e0a\u8fd0\u884c\u3002\n
44.38 +
44.39 +# Translators please note do not translate the options themselves
44.40 +java.launcher.opt.footer =\ -cp <\u76ee\u5f55\u548c zip/jar \u6587\u4ef6\u7684\u7c7b\u641c\u7d22\u8def\u5f84>\n\ -classpath <\u76ee\u5f55\u548c zip/jar \u6587\u4ef6\u7684\u7c7b\u641c\u7d22\u8def\u5f84>\n\ \u4e00\u4e2a\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u3001JAR \u5f52\u6863\u6587\u4ef6\n\ \u548c ZIP \u5f52\u6863\u6587\u4ef6\u7684\u5217\u8868\uff0c\u7528\u4e8e\u641c\u7d22\u7c7b\u6587\u4ef6\u3002\n\ -D<name>=<value>\n\ \u8bbe\u7f6e\u7cfb\u7edf\u5c5e\u6027\n\ -verbose[:class|gc|jni]\n\ \u542f\u7528\u8be6\u7ec6\u8f93\u51fa\n\ -version \u663e\u793a\u4ea7\u54c1\u7248\u672c\u5e76\u9000\u51fa\n\ -version:<value>\n\ \u8981\u6c42\u8fd0\u884c\u6307\u5b9a\u7684\u7248\u672c\n\ -showversion \u663e\u793a\u4ea7\u54c1\u7248\u672c\u5e76\u7ee7\u7eed\n\ -jre-restrict-search | -jre-no-restrict-search\n\ \u5728\u7248\u672c\u641c\u7d22\u4e2d\u5305\u62ec/\u4e0d\u5305\u62ec\u7528\u6237\u79c1\u6709 JRE\n\ -? -help \u663e\u793a\u6b64\u5e2e\u52a9\u6d88\u606f\n\ -X \u663e\u793a\u6709\u5173\u975e\u6807\u51c6\u9009\u9879\u7684\u5e2e\u52a9\n\ -ea[:<packagename>...|:<classname>]\n\ -enableassertions[:<packagename>...|:<classname>]\n\ \u542f\u7528\u6307\u5b9a\u7c92\u5ea6\u7684\u65ad\u8a00\n\ -da[:<packagename>...|:<classname>]\n\ -disableassertions[:<packagename>...|:<classname>]\n\ \u7981\u7528\u6307\u5b9a\u7c92\u5ea6\u7684\u65ad\u8a00\n\ -esa | -enablesystemassertions\n\ \u542f\u7528\u7cfb\u7edf\u65ad\u8a00\n\ -dsa | -disablesystemassertions\n\ \u7981\u7528\u7cfb\u7edf\u65ad\u8a00\n\ -agentlib:<libname>[=<options>]\n\ \u88c5\u5165\u672c\u673a\u4ee3\u7406\u5e93 <libname>\uff0c\u4f8b\u5982\uff1a-agentlib:hprof\n\ \u53e6\u8bf7\u53c2\u89c1 -agentlib:jdwp=help \u548c -agentlib:hprof=help\n\ -agentpath:<pathname>[=<options>]\n\ \u4ee5\u5168\u8def\u5f84\u540d\u88c5\u5165\u672c\u673a\u4ee3\u7406\u5e93\n\ -javaagent:<jarpath>[=<options>]\n\ \u88c5\u5165 Java \u7f16\u7a0b\u8bed\u8a00\u4ee3\u7406\uff0c\u8bf7\u53c2\u89c1 java.lang.instrument\n\ -splash:<imagepath>\n\ \u4f7f\u7528\u6307\u5b9a\u56fe\u50cf\u663e\u793a\u95ea\u73b0\u5c4f\u5e55\n\u6709\u5173\u66f4\u591a\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1 http://java.sun.com/javase/reference\u3002
44.41 +
44.42 +# Translators please note do not translate the options themselves
44.43 +java.launcher.X.usage=\ -Xmixed \u6df7\u5408\u6a21\u5f0f\u6267\u884c\uff08\u9ed8\u8ba4\uff09\n\ -Xint \u4ec5\u89e3\u91ca\u6a21\u5f0f\u6267\u884c\n\ -Xbootclasspath:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u548c zip/jar \u6587\u4ef6>\n\ \u8bbe\u7f6e\u5f15\u5bfc\u7c7b\u548c\u8d44\u6e90\u7684\u641c\u7d22\u8def\u5f84\n\ -Xbootclasspath/a:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u548c zip/jar \u6587\u4ef6>\n\ \u9644\u52a0\u5230\u5f15\u5bfc\u7c7b\u8def\u5f84\u5c3e\u90e8\n\ -Xbootclasspath/p:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u5f55\u548c zip/jar \u6587\u4ef6>\n\ \u7f6e\u4e8e\u5f15\u5bfc\u7c7b\u8def\u5f84\u524d\u9762\n\ -Xnoclassgc \u7981\u7528\u7c7b\u5783\u573e\u6536\u96c6\n\ -Xincgc \u542f\u7528\u589e\u91cf\u5783\u573e\u6536\u96c6\n\ -Xloggc:<\u6587\u4ef6> \u5c06 GC \u72b6\u6001\u8bb0\u5f55\u5230\u4e00\u4e2a\u5e26\u6709\u65f6\u95f4\u6233\u7684\u6587\u4ef6\n\ -Xbatch \u7981\u7528\u540e\u53f0\u7f16\u8bd1\n\ -Xms<\u5927\u5c0f> \u8bbe\u7f6e\u521d\u59cb Java \u5806\u5927\u5c0f\n\ -Xmx<\u5927\u5c0f> \u8bbe\u7f6e\u6700\u5927 Java \u5806\u5927\u5c0f\n\ -Xss<\u5927\u5c0f> \u8bbe\u7f6e Java \u7ebf\u7a0b\u5806\u6808\u5927\u5c0f\n\ -Xprof \u8f93\u51fa CPU \u914d\u7f6e\u6570\u636e\n\ -Xfuture \u542f\u7528\u6700\u4e25\u683c\u7684\u68c0\u67e5\uff0c\u672a\u6765\u53ef\u80fd\u4f1a\u6210\u4e3a\u9ed8\u8ba4\u9009\u9879\n\ -Xrs \u51cf\u5c11 Java/VM \u5bf9\u64cd\u4f5c\u7cfb\u7edf\u4fe1\u53f7\u7684\u4f7f\u7528\uff08\u8bf7\u53c2\u89c1\u6587\u6863\uff09\n\ -Xcheck:jni \u9488\u5bf9 JNI \u529f\u80fd\u6267\u884c\u989d\u5916\u7684\u68c0\u67e5\n\ -Xshare:off \u4e0d\u5c1d\u8bd5\u4f7f\u7528\u5171\u4eab\u7c7b\u6570\u636e\n\ -Xshare:auto \u5982\u679c\u53ef\u80fd\u7684\u8bdd\uff0c\u4f7f\u7528\u5171\u4eab\u7c7b\u6570\u636e\uff08\u9ed8\u8ba4\uff09\n\ -Xshare:on \u8981\u6c42\u4f7f\u7528\u5171\u4eab\u7c7b\u6570\u636e\uff0c\u5426\u5219\u4f1a\u5931\u8d25\u3002\n\n-X \u9009\u9879\u662f\u975e\u6807\u51c6\u9009\u9879\uff0c\u5982\u6709\u66f4\u6539\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002\n
44.44 +
44.45 +java.launcher.cls.error1=\u9519\u8bef\uff1a\u627e\u4e0d\u5230\u4e3b\u7c7b {0}
44.46 +java.launcher.cls.error2=\u9519\u8bef\uff1aMain \u65b9\u6cd5\u4e0d\u662f\u7c7b {1} \u4e2d\u7684 {0}\uff0c\u8bf7\u5c06 main \u65b9\u6cd5\u5b9a\u4e49\u4e3a\uff1a\n\ public static void main(String[] args)
44.47 +java.launcher.cls.error3=\u9519\u8bef\uff1a\u5728\u7c7b {0} \u4e2d\uff0cMain \u65b9\u6cd5\u5fc5\u987b\u8fd4\u56de void \u7c7b\u578b\u7684\u503c\uff0c\u8bf7\u5c06 \nmain \u65b9\u6cd5\u5b9a\u4e49\u4e3a\uff1a\n\ public static void main(String[] args)
44.48 +java.launcher.cls.error4=\u9519\u8bef\uff1a\u5728\u7c7b {0} \u4e2d\u672a\u627e\u5230 Main \u65b9\u6cd5\uff0c\u8bf7\u5c06 main \u65b9\u6cd5\u5b9a\u4e49\u4e3a\uff1a\n\ public static void main(String[] args)
44.49 +
44.50 +
45.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
45.2 +++ b/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties Thu Apr 29 13:53:09 2010 -0700
45.3 @@ -0,0 +1,47 @@
45.4 +#
45.5 +# Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
45.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
45.7 +#
45.8 +# This code is free software; you can redistribute it and/or modify it
45.9 +# under the terms of the GNU General Public License version 2 only, as
45.10 +# published by the Free Software Foundation. Sun designates this
45.11 +# particular file as subject to the "Classpath" exception as provided
45.12 +# by Sun in the LICENSE file that accompanied this code.
45.13 +#
45.14 +# This code is distributed in the hope that it will be useful, but WITHOUT
45.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
45.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
45.17 +# version 2 for more details (a copy is included in the LICENSE file that
45.18 +# accompanied this code).
45.19 +#
45.20 +# You should have received a copy of the GNU General Public License version
45.21 +# 2 along with this work; if not, write to the Free Software Foundation,
45.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
45.23 +#
45.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
45.25 +# CA 95054 USA or visit www.sun.com if you need additional information or
45.26 +# have any questions.
45.27 +#
45.28 +
45.29 +# Translators please note do not translate the options themselves
45.30 +java.launcher.opt.header = \u7528\u6cd5: {0} [-options] class [args...]\n\ (\u57f7\u884c\u985e\u5225)\n \u6216 {0} [-options] -jar jarfile [args...]\n\ (\u57f7\u884c jar \u6a94\u6848)\n\u5176\u4e2d options \u5305\u62ec:\n
45.31 +
45.32 +java.launcher.opt.datamodel =\ -d{0}\t \u4f7f\u7528 {0} \u4f4d\u5143\u8cc7\u6599\u6a21\u5f0f (\u5982\u679c\u53ef\u7528)\n
45.33 +java.launcher.opt.vmselect =\ {0}\t \u9078\u53d6\u300c{1}\u300dVM\n
45.34 +java.launcher.opt.hotspot =\ {0}\t \u662f\u300c{1}\u300dVM [\u5df2\u505c\u7528] \u7684\u540c\u7fa9\u8a5e\n
45.35 +
45.36 +java.launcher.ergo.message1 =\ \u9810\u8a2d VM \u70ba {0}
45.37 +java.launcher.ergo.message2 =\ \u56e0\u70ba\u60a8\u6b63\u57f7\u884c\u65bc\u4f3a\u670d\u5668\u7d1a\u7684\u6a5f\u5668\u4e0a\u3002\n
45.38 +
45.39 +# Translators please note do not translate the options themselves
45.40 +java.launcher.opt.footer =\ -cp <\u76ee\u9304\u548c zip/jar \u6a94\u6848\u7684\u985e\u5225\u641c\u5c0b\u8def\u5f91>\n\ -classpath <\u76ee\u9304\u548c zip/jar \u6a94\u6848\u7684\u985e\u5225\u641c\u5c0b\u8def\u5f91>\n\ {0} \u76ee\u9304\u3001JAR \u6b78\u6a94\n\ \u548c ZIP \u6b78\u6a94\u7684\u5206\u9694\u6e05\u55ae\uff0c\u7528\u65bc\u641c\u5c0b\u985e\u5225\u6a94\u6848\u3002\n\ -D<name>=<value>\n\ \u8a2d\u5b9a\u7cfb\u7d71\u7279\u6027\n\ -verbose[:class|gc|jni]\n\ \u555f\u7528\u8a73\u7d30\u8f38\u51fa\n\ -version \u5217\u5370\u7522\u54c1\u7248\u672c\u4e26\u7d50\u675f\n\ -version:<value>\n\ \u9700\u8981\u57f7\u884c\u6307\u5b9a\u7684\u7248\u672c\n\ -showversion \u5217\u5370\u7522\u54c1\u7248\u672c\u4e26\u7e7c\u7e8c\n\ -jre-restrict-search | -jre-no-restrict-search\n\ \u5728\u7248\u672c\u641c\u5c0b\u4e2d\u5305\u542b/\u6392\u9664\u4f7f\u7528\u8005\u79c1\u7528 JRE\n\ -? -help \u5217\u5370\u6b64\u8aaa\u660e\u8a0a\u606f\n\ -X \u5217\u5370\u6709\u95dc\u975e\u6a19\u6e96\u9078\u9805\u7684\u8aaa\u660e\n\ -ea[:<packagename>...|:<classname>]\n\ -enableassertions[:<packagename>...|:<classname>]\n\ \u555f\u7528\u5177\u6709\u6307\u5b9a\u9846\u7c92\u6027\u7684\u5ba3\u544a\n\ -da[:<packagename>...|:<classname>]\n\ -disableassertions[:<packagename>...|:<classname>]\n\ \u505c\u7528\u5177\u6709\u6307\u5b9a\u9846\u7c92\u6027\u7684\u5ba3\u544a\n\ -esa | -enablesystemassertions\n\ \u555f\u7528\u7cfb\u7d71\u5ba3\u544a\n\ -dsa | -disablesystemassertions\n\ \u505c\u7528\u7cfb\u7d71\u5ba3\u544a\n\ -agentlib:<libname>[=<options>]\n\ \u8f09\u5165\u539f\u751f\u4ee3\u7406\u7a0b\u5f0f\u7a0b\u5f0f\u5eab <libname>\uff0c\u4f8b\u5982 -agentlib:hprof\n\ \u53e6\u8acb\u53c3\u95b1 -agentlib:jdwp=help \u548c -agentlib:hprof=help\n\ -agentpath:<pathname>[=<options>]\n\ \u4f9d\u64da\u5b8c\u6574\u8def\u5f91\u540d\u7a31\u8f09\u5165\u539f\u751f\u4ee3\u7406\u7a0b\u5f0f\n\ -javaagent:<jarpath>[=<options>]\n\ \u8f09\u5165 Java \u7a0b\u5f0f\u8a2d\u8a08\u8a9e\u8a00\u4ee3\u7406\u7a0b\u5f0f\uff0c\u8acb\u53c3\u95b1 java.lang.instrument\n\ -splash:<imagepath>\n\ \u986f\u793a\u542b\u6709\u6307\u5b9a\u5f71\u50cf\u7684\u8edf\u9ad4\u8cc7\u8a0a\u756b\u9762\n\u8acb\u53c3\u95b1 http://java.sun.com/javase/reference\uff0c\u4ee5\u53d6\u5f97\u66f4\u591a\u8a73\u7d30\u8cc7\u8a0a\u3002
45.41 +
45.42 +# Translators please note do not translate the options themselves
45.43 +java.launcher.X.usage=\ -Xmixed \u57f7\u884c\u6df7\u5408\u6a21\u5f0f (\u9810\u8a2d)\n\ -Xint \u50c5\u57f7\u884c\u89e3\u8b6f\u6a21\u5f0f\n\ -Xbootclasspath:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u9304\u548c zip/jar \u6a94\u6848>\n\ \u8a2d\u5b9a\u555f\u52d5\u985e\u5225\u548c\u8cc7\u6e90\u7684\u641c\u5c0b\u8def\u5f91\n\ -Xbootclasspath/a:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u9304\u548c zip/jar \u6a94\u6848>\n\ \u9644\u52a0\u81f3\u555f\u52d5\u985e\u5225\u7684\u672b\u5c3e\n\ -Xbootclasspath/p:<\u4ee5 {0} \u5206\u9694\u7684\u76ee\u9304\u548c zip/jar \u6a94\u6848>\n\ \u524d\u7f6e\u65bc\u555f\u52d5\u985e\u5225\u8def\u5f91\u7684\u524d\u9762\n\ -Xnoclassgc \u505c\u7528\u985e\u5225\u56de\u6536\u6536\u96c6\n\ -Xincgc \u555f\u7528\u905e\u589e\u56de\u6536\u6536\u96c6\n\ -Xloggc:<\u6a94\u6848> \u4f7f\u7528\u6642\u9593\u6233\u8a18\u5c07 GC \u72c0\u614b\u8a18\u9304\u81f3\u6a94\u6848\n\ -Xbatch \u505c\u7528\u80cc\u5f71\u7de8\u8b6f\n\ -Xms<\u5927\u5c0f> \u8a2d\u5b9a\u521d\u59cb Java \u5806\u758a\u5927\u5c0f\n\ -Xmx<\u5927\u5c0f> \u8a2d\u5b9a\u6700\u5927 Java \u5806\u758a\u5927\u5c0f\n\ -Xss<\u5927\u5c0f> \u8a2d\u5b9a java \u57f7\u884c\u7dd2\u5806\u758a\u5927\u5c0f\n\ -Xprof \u8f38\u51fa cpu \u8a2d\u5b9a\u6a94\u8cc7\u6599\n\ -Xfuture \u555f\u7528\u6700\u56b4\u683c\u7684\u6aa2\u67e5\uff0c\u9810\u671f\u672a\u4f86\u9810\u8a2d\u503c\n\ -Xrs \u964d\u4f4e Java/VM \u7684 OS \u8a0a\u865f\u4f7f\u7528 (\u8acb\u53c3\u95b1\u6587\u4ef6)\n\ -Xcheck:jni \u5c0d JNI \u529f\u80fd\u57f7\u884c\u5176\u4ed6\u6aa2\u67e5\n\ -Xshare:off \u4e0d\u5617\u8a66\u4f7f\u7528\u5171\u7528\u985e\u5225\u8cc7\u6599\n\ -Xshare:auto \u5982\u53ef\u80fd\uff0c\u4f7f\u7528\u5171\u7528\u985e\u5225\u8cc7\u6599 (\u9810\u8a2d)\n\ -Xshare:on \u9700\u8981\u4f7f\u7528\u5171\u7528\u985e\u5225\u8cc7\u6599\uff0c\u5426\u5247\u6703\u5931\u6557\u3002\n\n-X \u9078\u9805\u70ba\u975e\u6a19\u6e96\u9078\u9805\uff0c\u53ef\u80fd\u6703\u8b8a\u66f4\uff0c\u6055\u4e0d\u53e6\u884c\u901a\u77e5\u3002\n
45.44 +
45.45 +java.launcher.cls.error1=\u932f\u8aa4\uff1a\u627e\u4e0d\u5230\u4e3b\u985e\u5225 {0}
45.46 +java.launcher.cls.error2=\u932f\u8aa4\uff1a\u5728\u985e\u5225 {1} \u4e2d\uff0c\u4e3b\u65b9\u6cd5\u4e0d\u662f {0}\uff0c\u8acb\u5b9a\u7fa9\u4e3b\u65b9\u6cd5\u70ba:\n\ public static void main(String[] args)
45.47 +java.launcher.cls.error3=\u932f\u8aa4\uff1a\u5728\u985e\u5225 {0} \u4e2d\uff0c\u4e3b\u65b9\u6cd5\u5fc5\u9808\u50b3\u56de\u985e\u578b void \u7684\u503c\uff0c\u8acb\n\u5b9a\u7fa9\u4e3b\u65b9\u6cd5\u70ba:\n\ public static void main(String[] args)
45.48 +java.launcher.cls.error4=\u932f\u8aa4\uff1a\u5728\u985e\u5225 {0} \u4e2d\u627e\u4e0d\u5230\u4e3b\u65b9\u6cd5\uff0c\u8acb\u5b9a\u7fa9\u4e3b\u65b9\u6cd5\u70ba:\n\ public static void main(String[] args)
45.49 +
45.50 +
46.1 --- a/src/share/classes/sun/management/resources/agent_de.properties Thu Apr 22 16:54:34 2010 -0700
46.2 +++ b/src/share/classes/sun/management/resources/agent_de.properties Thu Apr 29 13:53:09 2010 -0700
46.3 @@ -46,6 +46,12 @@
46.4
46.5 agent.err.invalid.jmxremote.port = Ung\u00fcltige Nummer f\u00fcr com.sun.management.jmxremote.port
46.6
46.7 +agent.err.file.not.set = Datei nicht angegeben
46.8 +agent.err.file.not.readable = Datei nicht lesbar
46.9 +agent.err.file.read.failed = Datei konnte nicht gelesen werden
46.10 +agent.err.file.not.found = Datei wurde nicht gefunden
46.11 +agent.err.file.access.not.restricted = Lesezugriff auf die Datei muss eingeschr\u00e4nkt sein
46.12 +
46.13 agent.err.password.file.notset = Es wurde keine Passwortdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist.
46.14 agent.err.password.file.not.readable = Passwortdatei kann nicht gelesen werden.
46.15 agent.err.password.file.read.failed = Passwortdatei konnte nicht gelesen werden.
46.16 @@ -76,6 +82,7 @@
46.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Keine Authentifizierung
46.18 jmxremote.ConnectorBootstrap.initialize.ready = JMX-Anschluss bereit unter: {0}
46.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = Lesezugriff auf Passwortdatei muss eingeschr\u00e4nkt sein. {0}
46.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = Lesezugriff auf die Datei muss eingeschr\u00e4nkt sein: {0}
46.21
46.22 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL verarbeiten
46.23 jmxremote.AdaptorBootstrap.getTargetList.adding = Ziel hinzuf\u00fcgen: {0}
47.1 --- a/src/share/classes/sun/management/resources/agent_es.properties Thu Apr 22 16:54:34 2010 -0700
47.2 +++ b/src/share/classes/sun/management/resources/agent_es.properties Thu Apr 29 13:53:09 2010 -0700
47.3 @@ -46,6 +46,12 @@
47.4
47.5 agent.err.invalid.jmxremote.port = N\u00famero com.sun.management.jmxremote.port no v\u00e1lido
47.6
47.7 +agent.err.file.not.set = Archivo no especificado
47.8 +agent.err.file.not.readable = Archivo ilegible
47.9 +agent.err.file.read.failed = Error al leer el archivo
47.10 +agent.err.file.not.found = Archivo no encontrado
47.11 +agent.err.file.access.not.restricted = Se debe restringir el acceso de lectura al archivo
47.12 +
47.13 agent.err.password.file.notset = El archivo de contrase\u00f1as no se ha especificado, pero com.sun.management.jmxremote.authenticate=true
47.14 agent.err.password.file.not.readable = No se puede leer el archivo de contrase\u00f1as
47.15 agent.err.password.file.read.failed = Error al leer el archivo de contrase\u00f1as
47.16 @@ -76,6 +82,7 @@
47.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Sin autenticaci\u00f3n
47.18 jmxremote.ConnectorBootstrap.initialize.ready = Conector JMX listo en: {0}
47.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = Se debe restringir el acceso de lectura al archivo de contrase\u00f1as: {0}
47.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = Se debe restringir el acceso de lectura al archivo: {0}
47.21
47.22 jmxremote.AdaptorBootstrap.getTargetList.processing = Procesando ACL
47.23 jmxremote.AdaptorBootstrap.getTargetList.adding = Agregando destino: {0}
48.1 --- a/src/share/classes/sun/management/resources/agent_fr.properties Thu Apr 22 16:54:34 2010 -0700
48.2 +++ b/src/share/classes/sun/management/resources/agent_fr.properties Thu Apr 29 13:53:09 2010 -0700
48.3 @@ -46,6 +46,12 @@
48.4
48.5 agent.err.invalid.jmxremote.port = Num\u00e9ro com.sun.management.jmxremote.port incorrect
48.6
48.7 +agent.err.file.not.set = Fichier non sp\u00e9cifi\u00e9
48.8 +agent.err.file.not.readable = Fichier illisible
48.9 +agent.err.file.read.failed = Impossible de lire le fichier
48.10 +agent.err.file.not.found = Fichier introuvable
48.11 +agent.err.file.access.not.restricted = L'acc\u00e8s \u00e0 la lecture du fichier doit \u00eatre limit\u00e9
48.12 +
48.13 agent.err.password.file.notset = Le fichier de mots de passe n'est pas sp\u00e9cifi\u00e9 mais com.sun.management.jmxremote.authenticate=true
48.14 agent.err.password.file.not.readable = Fichier de mots de passe illisible
48.15 agent.err.password.file.read.failed = Impossible de lire le fichier de mots de passe
48.16 @@ -76,6 +82,7 @@
48.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Pas d'authentification
48.18 jmxremote.ConnectorBootstrap.initialize.ready = Connecteur JMX pr\u00eat \u00e0 : {0}
48.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = L''acc\u00e8s \u00e0 la lecture du fichier de mots de passe doit \u00eatre limit\u00e9 : {0}
48.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = L''acc\u00e8s \u00e0 la lecture du fichier doit \u00eatre limit\u00e9\u00a0: {0}
48.21
48.22 jmxremote.AdaptorBootstrap.getTargetList.processing = Traitement d'ACL
48.23 jmxremote.AdaptorBootstrap.getTargetList.adding = Ajout de la cible : {0}
49.1 --- a/src/share/classes/sun/management/resources/agent_it.properties Thu Apr 22 16:54:34 2010 -0700
49.2 +++ b/src/share/classes/sun/management/resources/agent_it.properties Thu Apr 29 13:53:09 2010 -0700
49.3 @@ -46,6 +46,12 @@
49.4
49.5 agent.err.invalid.jmxremote.port = Numero com.sun.management.jmxremote.port non valido
49.6
49.7 +agent.err.file.not.set = File non specificato
49.8 +agent.err.file.not.readable = File non leggibile
49.9 +agent.err.file.read.failed = Lettura del file non riuscita
49.10 +agent.err.file.not.found = File non trovato
49.11 +agent.err.file.access.not.restricted = L'accesso in lettura al file deve essere limitato
49.12 +
49.13 agent.err.password.file.notset = Il file password non \u00e8 specificato ma com.sun.management.jmxremote.authenticate=true
49.14 agent.err.password.file.not.readable = File password non leggibile
49.15 agent.err.password.file.read.failed = Errore di lettura file password
49.16 @@ -76,6 +82,7 @@
49.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Nessuna autenticazione
49.18 jmxremote.ConnectorBootstrap.initialize.ready = Connettore JMX pronto in: {0}
49.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = Limitare l''accesso in lettura al file password: {0}
49.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = Limitare l''accesso in lettura al file: {0}
49.21
49.22 jmxremote.AdaptorBootstrap.getTargetList.processing = Elaborazione ACL
49.23 jmxremote.AdaptorBootstrap.getTargetList.adding = Aggiunta della destinazione: {0}
50.1 --- a/src/share/classes/sun/management/resources/agent_ja.properties Thu Apr 22 16:54:34 2010 -0700
50.2 +++ b/src/share/classes/sun/management/resources/agent_ja.properties Thu Apr 29 13:53:09 2010 -0700
50.3 @@ -42,10 +42,16 @@
50.4 agent.err.agentclass.failed = \u7ba1\u7406\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u304c\u5931\u6557\u3057\u307e\u3057\u305f\u3002
50.5 agent.err.premain.notfound = premain(String) \u304c\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30af\u30e9\u30b9\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
50.6 agent.err.agentclass.access.denied = premain(String) \u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
50.7 -agent.err.invalid.agentclass = com.sun.management.agent.class \u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5024\u304c\u4e0d\u6b63\u3067\u3059\u3002
50.8 +agent.err.invalid.agentclass = com.sun.management.agent.class \u30d7\u30ed\u30d1\u30c6\u30a3\u30fc\u306e\u5024\u304c\u4e0d\u6b63\u3067\u3059\u3002
50.9
50.10 agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port \u306e\u756a\u53f7\u304c\u4e0d\u6b63\u3067\u3059\u3002
50.11
50.12 +agent.err.file.not.set = \u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
50.13 +agent.err.file.not.readable = \u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
50.14 +agent.err.file.read.failed = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
50.15 +agent.err.file.not.found = \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
50.16 +agent.err.file.access.not.restricted = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
50.17 +
50.18 agent.err.password.file.notset = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001com.sun.management.jmxremote.authenticate=true \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002
50.19 agent.err.password.file.not.readable = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002
50.20 agent.err.password.file.read.failed = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
50.21 @@ -76,6 +82,7 @@
50.22 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u8a8d\u8a3c\u306a\u3057
50.23 jmxremote.ConnectorBootstrap.initialize.ready = JMX \u30b3\u30cd\u30af\u30bf\u306e\u6e96\u5099\u304c\u3067\u304d\u307e\u3057\u305f: {0}
50.24 jmxremote.ConnectorBootstrap.initialize.password.readonly = \u30d1\u30b9\u30ef\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}
50.25 +jmxremote.ConnectorBootstrap.initialize.file.readonly = \u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u30a2\u30af\u30bb\u30b9\u306f\u5236\u9650\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: {0}
50.26
50.27 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL \u3092\u51e6\u7406\u3057\u3066\u3044\u307e\u3059
50.28 jmxremote.AdaptorBootstrap.getTargetList.adding = \u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059: {0}
51.1 --- a/src/share/classes/sun/management/resources/agent_ko.properties Thu Apr 22 16:54:34 2010 -0700
51.2 +++ b/src/share/classes/sun/management/resources/agent_ko.properties Thu Apr 29 13:53:09 2010 -0700
51.3 @@ -46,6 +46,12 @@
51.4
51.5 agent.err.invalid.jmxremote.port = \uc798\ubabb\ub41c com.sun.management.jmxremote.port \ubc88\ud638
51.6
51.7 +agent.err.file.not.set = \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
51.8 +agent.err.file.not.readable = \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
51.9 +agent.err.file.read.failed = \ud30c\uc77c\uc744 \uc77d\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
51.10 +agent.err.file.not.found = \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
51.11 +agent.err.file.access.not.restricted = \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.
51.12 +
51.13 agent.err.password.file.notset = com.sun.management.jmxremote.authenticate=true\ub97c \uc81c\uc678\ud55c \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc774 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
51.14 agent.err.password.file.not.readable = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \uc77d\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
51.15 agent.err.password.file.read.failed = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c\uc744 \uc77d\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
51.16 @@ -76,6 +82,7 @@
51.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \uc778\uc99d \uc5c6\uc74c
51.18 jmxremote.ConnectorBootstrap.initialize.ready = \ub2e4\uc74c\uc5d0\uc11c JMX \ucee4\ub125\ud130 \uc900\ube44: {0}
51.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = \ube44\ubc00\ubc88\ud638 \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. {0}
51.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = \ud30c\uc77c \uc77d\uae30 \uc561\uc138\uc2a4\ub294 \uc81c\ud55c\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. {0}
51.21
51.22 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL \ucc98\ub9ac
51.23 jmxremote.AdaptorBootstrap.getTargetList.adding = \ub300\uc0c1 \ucd94\uac00: {0}
52.1 --- a/src/share/classes/sun/management/resources/agent_sv.properties Thu Apr 22 16:54:34 2010 -0700
52.2 +++ b/src/share/classes/sun/management/resources/agent_sv.properties Thu Apr 29 13:53:09 2010 -0700
52.3 @@ -46,6 +46,12 @@
52.4
52.5 agent.err.invalid.jmxremote.port = Ogiltigt com.sun.management.jmxremote.port-nummer
52.6
52.7 +agent.err.file.not.set = Filen har inte angetts.
52.8 +agent.err.file.not.readable = Filen g\u00e5r inte att l\u00e4sa.
52.9 +agent.err.file.read.failed = Det gick inte att l\u00e4sa filen
52.10 +agent.err.file.not.found = Filen hittades inte
52.11 +agent.err.file.access.not.restricted = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas
52.12 +
52.13 agent.err.password.file.notset = L\u00f6senordsfilen har inte angetts men com.sun.management.jmxremote.authenticate=true
52.14 agent.err.password.file.not.readable = L\u00f6senordsfilen \u00e4r inte l\u00e4sbar
52.15 agent.err.password.file.read.failed = Det g\u00e5r inte att l\u00e4sa l\u00f6senordsfilen
52.16 @@ -76,6 +82,7 @@
52.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = Ingen autentisering
52.18 jmxremote.ConnectorBootstrap.initialize.ready = JMX Connector redo p\u00e5: {0}
52.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = L\u00e4sbeh\u00f6righeten f\u00f6r l\u00f6senordsfilen m\u00e5ste begr\u00e4nsas: {0}
52.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = L\u00e4sbeh\u00f6righeten f\u00f6r filen m\u00e5ste begr\u00e4nsas: {0}
52.21
52.22 jmxremote.AdaptorBootstrap.getTargetList.processing = ACL bearbetas
52.23 jmxremote.AdaptorBootstrap.getTargetList.adding = M\u00e5l l\u00e4ggs till: {0}
53.1 --- a/src/share/classes/sun/management/resources/agent_zh_CN.properties Thu Apr 22 16:54:34 2010 -0700
53.2 +++ b/src/share/classes/sun/management/resources/agent_zh_CN.properties Thu Apr 29 13:53:09 2010 -0700
53.3 @@ -1,6 +1,6 @@
53.4 #
53.5 #
53.6 -# Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
53.7 +# Copyright 2004-2005 Sun Microsystems, Inc. All Rights Reserved.
53.8 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
53.9 #
53.10 # This code is free software; you can redistribute it and/or modify it
53.11 @@ -46,6 +46,12 @@
53.12
53.13 agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port \u7f16\u53f7\u65e0\u6548
53.14
53.15 +agent.err.file.not.set = \u672a\u6307\u5b9a\u6587\u4ef6
53.16 +agent.err.file.not.readable = \u65e0\u6cd5\u8bfb\u53d6\u6587\u4ef6
53.17 +agent.err.file.read.failed = \u8bfb\u53d6\u6587\u4ef6\u5931\u8d25
53.18 +agent.err.file.not.found = \u627e\u4e0d\u5230\u6587\u4ef6
53.19 +agent.err.file.access.not.restricted = \u5fc5\u987b\u9650\u5236\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee
53.20 +
53.21 agent.err.password.file.notset = \u672a\u6307\u5b9a\u53e3\u4ee4\u6587\u4ef6\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
53.22 agent.err.password.file.not.readable = \u65e0\u6cd5\u8bfb\u53d6\u53e3\u4ee4\u6587\u4ef6
53.23 agent.err.password.file.read.failed = \u8bfb\u53d6\u53e3\u4ee4\u6587\u4ef6\u5931\u8d25
53.24 @@ -76,6 +82,7 @@
53.25 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u65e0\u9a8c\u8bc1
53.26 jmxremote.ConnectorBootstrap.initialize.ready = \u4f4d\u4e8e {0} \u7684 JMX \u8fde\u63a5\u5668\u5c31\u7eea
53.27 jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5fc5\u987b\u9650\u5236\u53e3\u4ee4\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee\uff1a{0}
53.28 +jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5fc5\u987b\u9650\u5236\u6587\u4ef6\u8bfb\u53d6\u8bbf\u95ee\uff1a{0}
53.29
53.30 jmxremote.AdaptorBootstrap.getTargetList.processing = \u6b63\u5728\u5904\u7406 ACL
53.31 jmxremote.AdaptorBootstrap.getTargetList.adding = \u6b63\u5728\u6dfb\u52a0\u76ee\u6807\uff1a{0}
54.1 --- a/src/share/classes/sun/management/resources/agent_zh_TW.properties Thu Apr 22 16:54:34 2010 -0700
54.2 +++ b/src/share/classes/sun/management/resources/agent_zh_TW.properties Thu Apr 29 13:53:09 2010 -0700
54.3 @@ -46,6 +46,12 @@
54.4
54.5 agent.err.invalid.jmxremote.port = com.sun.management.jmxremote.port \u7de8\u865f\u7121\u6548
54.6
54.7 +agent.err.file.not.set = \u672a\u6307\u5b9a\u6a94\u6848
54.8 +agent.err.file.not.readable = \u6a94\u6848\u4e0d\u53ef\u8b80
54.9 +agent.err.file.read.failed = \u7121\u6cd5\u8b80\u53d6\u6a94\u6848
54.10 +agent.err.file.not.found = \u627e\u4e0d\u5230\u6a94\u6848
54.11 +agent.err.file.access.not.restricted = \u5fc5\u9808\u9650\u5236\u6a94\u6848\u8b80\u53d6\u5b58\u53d6
54.12 +
54.13 agent.err.password.file.notset = \u672a\u6307\u5b9a\u5bc6\u78bc\u6a94\u6848\uff0c\u4f46 com.sun.management.jmxremote.authenticate=true
54.14 agent.err.password.file.not.readable = \u5bc6\u78bc\u6a94\u6848\u4e0d\u53ef\u8b80
54.15 agent.err.password.file.read.failed = \u7121\u6cd5\u8b80\u53d6\u5bc6\u78bc\u6a94\u6848
54.16 @@ -76,6 +82,7 @@
54.17 jmxremote.ConnectorBootstrap.initialize.noAuthentication = \u7121\u8a8d\u8b49
54.18 jmxremote.ConnectorBootstrap.initialize.ready = JMX \u9023\u63a5\u5668\u5c31\u7dd2\uff0c\u4f4d\u65bc\ufe30{0}
54.19 jmxremote.ConnectorBootstrap.initialize.password.readonly = \u5fc5\u9808\u9650\u5236\u5bc6\u78bc\u6a94\u6848\u8b80\u53d6\u5b58\u53d6\ufe30{0}
54.20 +jmxremote.ConnectorBootstrap.initialize.file.readonly = \u5fc5\u9808\u9650\u5236\u6a94\u6848\u8b80\u53d6\u5b58\u53d6: {0}
54.21
54.22 jmxremote.AdaptorBootstrap.getTargetList.processing = \u6b63\u5728\u8655\u7406 ACL
54.23 jmxremote.AdaptorBootstrap.getTargetList.adding = \u6b63\u5728\u589e\u52a0\u76ee\u6a19\ufe30{0}
55.1 --- a/src/share/classes/sun/misc/SharedSecrets.java Thu Apr 22 16:54:34 2010 -0700
55.2 +++ b/src/share/classes/sun/misc/SharedSecrets.java Thu Apr 29 13:53:09 2010 -0700
55.3 @@ -1,5 +1,5 @@
55.4 /*
55.5 - * Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.
55.6 + * Copyright 2002-2010 Sun Microsystems, Inc. All Rights Reserved.
55.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
55.8 *
55.9 * This code is free software; you can redistribute it and/or modify it
55.10 @@ -29,6 +29,7 @@
55.11 import java.io.Console;
55.12 import java.io.File;
55.13 import java.io.FileDescriptor;
55.14 +import java.security.ProtectionDomain;
55.15
55.16 /** A repository of "shared secrets", which are a mechanism for
55.17 calling implementation-private methods in another package without
55.18 @@ -121,6 +122,8 @@
55.19
55.20 public static JavaSecurityProtectionDomainAccess
55.21 getJavaSecurityProtectionDomainAccess() {
55.22 + if (javaSecurityProtectionDomainAccess == null)
55.23 + unsafe.ensureClassInitialized(ProtectionDomain.class);
55.24 return javaSecurityProtectionDomainAccess;
55.25 }
55.26 }
56.1 --- a/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Thu Apr 22 16:54:34 2010 -0700
56.2 +++ b/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Thu Apr 29 13:53:09 2010 -0700
56.3 @@ -1,5 +1,5 @@
56.4 /*
56.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
56.6 + * Copyright 2005-2010 Sun Microsystems, Inc. All Rights Reserved.
56.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
56.8 *
56.9 * This code is free software; you can redistribute it and/or modify it
56.10 @@ -77,26 +77,34 @@
56.11 if (DEBUG) err.printStackTrace();
56.12 return null;
56.13 }
56.14 - String gssLib = System.getProperty(LIB_PROP);
56.15 - if (gssLib == null || gssLib.trim().equals("")) {
56.16 + String gssLibs[] = new String[0];
56.17 + String defaultLib = System.getProperty(LIB_PROP);
56.18 + if (defaultLib == null || defaultLib.trim().equals("")) {
56.19 String osname = System.getProperty("os.name");
56.20 if (osname.startsWith("SunOS")) {
56.21 - gssLib = "libgss.so";
56.22 + gssLibs = new String[]{ "libgss.so" };
56.23 } else if (osname.startsWith("Linux")) {
56.24 - gssLib = "libgssapi.so";
56.25 + gssLibs = new String[]{
56.26 + "libgssapi.so",
56.27 + "libgssapi_krb5.so",
56.28 + };
56.29 }
56.30 + } else {
56.31 + gssLibs = new String[]{ defaultLib };
56.32 }
56.33 - if (GSSLibStub.init(gssLib)) {
56.34 - debug("Loaded GSS library: " + gssLib);
56.35 - Oid[] mechs = GSSLibStub.indicateMechs();
56.36 - HashMap<String, String> map =
56.37 - new HashMap<String, String>();
56.38 - for (int i = 0; i < mechs.length; i++) {
56.39 - debug("Native MF for " + mechs[i]);
56.40 - map.put("GssApiMechanism." + mechs[i],
56.41 - MF_CLASS);
56.42 + for (String libName: gssLibs) {
56.43 + if (GSSLibStub.init(libName)) {
56.44 + debug("Loaded GSS library: " + libName);
56.45 + Oid[] mechs = GSSLibStub.indicateMechs();
56.46 + HashMap<String, String> map =
56.47 + new HashMap<String, String>();
56.48 + for (int i = 0; i < mechs.length; i++) {
56.49 + debug("Native MF for " + mechs[i]);
56.50 + map.put("GssApiMechanism." + mechs[i],
56.51 + MF_CLASS);
56.52 + }
56.53 + return map;
56.54 }
56.55 - return map;
56.56 }
56.57 return null;
56.58 }
57.1 --- a/src/share/classes/sun/security/pkcs11/P11Cipher.java Thu Apr 22 16:54:34 2010 -0700
57.2 +++ b/src/share/classes/sun/security/pkcs11/P11Cipher.java Thu Apr 29 13:53:09 2010 -0700
57.3 @@ -1,5 +1,5 @@
57.4 /*
57.5 - * Copyright 2003-2008 Sun Microsystems, Inc. All Rights Reserved.
57.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
57.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
57.8 *
57.9 * This code is free software; you can redistribute it and/or modify it
57.10 @@ -192,7 +192,6 @@
57.11 // should not happen
57.12 throw new ProviderException(nspe);
57.13 }
57.14 - session = token.getOpSession();
57.15 }
57.16
57.17 protected void engineSetMode(String mode) throws NoSuchAlgorithmException {
57.18 @@ -847,18 +846,6 @@
57.19 return n;
57.20 }
57.21
57.22 - @Override
57.23 - protected void finalize() throws Throwable {
57.24 - try {
57.25 - if ((session != null) && token.isValid()) {
57.26 - cancelOperation();
57.27 - session = token.releaseSession(session);
57.28 - }
57.29 - } finally {
57.30 - super.finalize();
57.31 - }
57.32 - }
57.33 -
57.34 private final void bufferInputBytes(byte[] in, int inOfs, int len) {
57.35 System.arraycopy(in, inOfs, padBuffer, padBufferLen, len);
57.36 padBufferLen += len;
58.1 --- a/src/share/classes/sun/security/pkcs11/P11Digest.java Thu Apr 22 16:54:34 2010 -0700
58.2 +++ b/src/share/classes/sun/security/pkcs11/P11Digest.java Thu Apr 29 13:53:09 2010 -0700
58.3 @@ -1,5 +1,5 @@
58.4 /*
58.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
58.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
58.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
58.8 *
58.9 * This code is free software; you can redistribute it and/or modify it
58.10 @@ -308,16 +308,4 @@
58.11 throw new ProviderException("update() failed", e);
58.12 }
58.13 }
58.14 -
58.15 - protected void finalize() throws Throwable {
58.16 - try {
58.17 - if ((session != null) && token.isValid()) {
58.18 - cancelOperation();
58.19 - session = token.releaseSession(session);
58.20 - }
58.21 - } finally {
58.22 - super.finalize();
58.23 - }
58.24 - }
58.25 -
58.26 }
59.1 --- a/src/share/classes/sun/security/pkcs11/P11Key.java Thu Apr 22 16:54:34 2010 -0700
59.2 +++ b/src/share/classes/sun/security/pkcs11/P11Key.java Thu Apr 29 13:53:09 2010 -0700
59.3 @@ -1,5 +1,5 @@
59.4 /*
59.5 - * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
59.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
59.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
59.8 *
59.9 * This code is free software; you can redistribute it and/or modify it
59.10 @@ -85,7 +85,7 @@
59.11 // flags indicating whether the key is a token object, sensitive, extractable
59.12 final boolean tokenObject, sensitive, extractable;
59.13
59.14 - // weak reference notification clean up for session keys
59.15 + // phantom reference notification clean up for session keys
59.16 private final SessionKeyRef sessionKeyRef;
59.17
59.18 P11Key(String type, Session session, long keyID, String algorithm,
59.19 @@ -1051,7 +1051,12 @@
59.20 }
59.21 }
59.22
59.23 -final class SessionKeyRef extends WeakReference<P11Key>
59.24 +/*
59.25 + * NOTE: Must use PhantomReference here and not WeakReference
59.26 + * otherwise the key maybe cleared before other objects which
59.27 + * still use these keys during finalization such as SSLSocket.
59.28 + */
59.29 +final class SessionKeyRef extends PhantomReference<P11Key>
59.30 implements Comparable<SessionKeyRef> {
59.31 private static ReferenceQueue<P11Key> refQueue =
59.32 new ReferenceQueue<P11Key>();
59.33 @@ -1062,14 +1067,11 @@
59.34 return refQueue;
59.35 }
59.36
59.37 - static final private int MAX_ITERATIONS = 2;
59.38 -
59.39 private static void drainRefQueueBounded() {
59.40 - int iterations = 0;
59.41 - while (iterations < MAX_ITERATIONS) {
59.42 + while (true) {
59.43 SessionKeyRef next = (SessionKeyRef) refQueue.poll();
59.44 - if (next != null) next.dispose();
59.45 - ++iterations;
59.46 + if (next == null) break;
59.47 + next.dispose();
59.48 }
59.49 }
59.50
59.51 @@ -1087,7 +1089,7 @@
59.52 drainRefQueueBounded();
59.53 }
59.54
59.55 - void dispose() {
59.56 + private void dispose() {
59.57 refList.remove(this);
59.58 if (session.token.isValid()) {
59.59 Session newSession = null;
59.60 @@ -1097,6 +1099,7 @@
59.61 } catch (PKCS11Exception e) {
59.62 // ignore
59.63 } finally {
59.64 + this.clear();
59.65 session.token.releaseSession(newSession);
59.66 session.removeObject();
59.67 }
60.1 --- a/src/share/classes/sun/security/pkcs11/P11Mac.java Thu Apr 22 16:54:34 2010 -0700
60.2 +++ b/src/share/classes/sun/security/pkcs11/P11Mac.java Thu Apr 29 13:53:09 2010 -0700
60.3 @@ -1,5 +1,5 @@
60.4 /*
60.5 - * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
60.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
60.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
60.8 *
60.9 * This code is free software; you can redistribute it and/or modify it
60.10 @@ -263,16 +263,4 @@
60.11 throw new ProviderException("update() failed", e);
60.12 }
60.13 }
60.14 -
60.15 - protected void finalize() throws Throwable {
60.16 - try {
60.17 - if ((session != null) && token.isValid()) {
60.18 - cancelOperation();
60.19 - session = token.releaseSession(session);
60.20 - }
60.21 - } finally {
60.22 - super.finalize();
60.23 - }
60.24 - }
60.25 -
60.26 }
61.1 --- a/src/share/classes/sun/security/pkcs11/P11RSACipher.java Thu Apr 22 16:54:34 2010 -0700
61.2 +++ b/src/share/classes/sun/security/pkcs11/P11RSACipher.java Thu Apr 29 13:53:09 2010 -0700
61.3 @@ -1,5 +1,5 @@
61.4 /*
61.5 - * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
61.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
61.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
61.8 *
61.9 * This code is free software; you can redistribute it and/or modify it
61.10 @@ -485,18 +485,6 @@
61.11 int n = P11KeyFactory.convertKey(token, key, algorithm).keyLength();
61.12 return n;
61.13 }
61.14 -
61.15 - protected void finalize() throws Throwable {
61.16 - try {
61.17 - if ((session != null) && token.isValid()) {
61.18 - cancelOperation();
61.19 - session = token.releaseSession(session);
61.20 - }
61.21 - } finally {
61.22 - super.finalize();
61.23 - }
61.24 - }
61.25 -
61.26 }
61.27
61.28 final class ConstructKeys {
62.1 --- a/src/share/classes/sun/security/pkcs11/P11Signature.java Thu Apr 22 16:54:34 2010 -0700
62.2 +++ b/src/share/classes/sun/security/pkcs11/P11Signature.java Thu Apr 29 13:53:09 2010 -0700
62.3 @@ -226,7 +226,6 @@
62.4 this.buffer = buffer;
62.5 this.digestOID = digestOID;
62.6 this.md = md;
62.7 - session = token.getOpSession();
62.8 }
62.9
62.10 private void ensureInitialized() {
62.11 @@ -732,16 +731,4 @@
62.12 throws InvalidParameterException {
62.13 throw new UnsupportedOperationException("getParameter() not supported");
62.14 }
62.15 -
62.16 - protected void finalize() throws Throwable {
62.17 - try {
62.18 - if ((session != null) && token.isValid()) {
62.19 - cancelOperation();
62.20 - session = token.releaseSession(session);
62.21 - }
62.22 - } finally {
62.23 - super.finalize();
62.24 - }
62.25 - }
62.26 -
62.27 }
63.1 --- a/src/share/classes/sun/security/pkcs11/Session.java Thu Apr 22 16:54:34 2010 -0700
63.2 +++ b/src/share/classes/sun/security/pkcs11/Session.java Thu Apr 29 13:53:09 2010 -0700
63.3 @@ -1,5 +1,5 @@
63.4 /*
63.5 - * Copyright 2003-2005 Sun Microsystems, Inc. All Rights Reserved.
63.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
63.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
63.8 *
63.9 * This code is free software; you can redistribute it and/or modify it
63.10 @@ -25,6 +25,7 @@
63.11
63.12 package sun.security.pkcs11;
63.13
63.14 +import java.lang.ref.*;
63.15 import java.util.*;
63.16 import java.util.concurrent.atomic.AtomicInteger;
63.17
63.18 @@ -59,11 +60,14 @@
63.19 // this could lead to idle sessions being closed early, but that is harmless
63.20 private long lastAccess;
63.21
63.22 + private final SessionRef sessionRef;
63.23 +
63.24 Session(Token token, long id) {
63.25 this.token = token;
63.26 this.id = id;
63.27 createdObjects = new AtomicInteger();
63.28 id();
63.29 + sessionRef = new SessionRef(this, id, token);
63.30 }
63.31
63.32 public int compareTo(Session other) {
63.33 @@ -108,4 +112,76 @@
63.34 return createdObjects.get() != 0;
63.35 }
63.36
63.37 + void close() {
63.38 + if (hasObjects()) {
63.39 + throw new ProviderException(
63.40 + "Internal error: close session with active objects");
63.41 + }
63.42 + sessionRef.dispose();
63.43 + }
63.44 }
63.45 +
63.46 +/*
63.47 + * NOTE: Use PhantomReference here and not WeakReference
63.48 + * otherwise the sessions maybe closed before other objects
63.49 + * which are still being finalized.
63.50 + */
63.51 +final class SessionRef extends PhantomReference<Session>
63.52 + implements Comparable<SessionRef> {
63.53 +
63.54 + private static ReferenceQueue<Session> refQueue =
63.55 + new ReferenceQueue<Session>();
63.56 +
63.57 + private static Set<SessionRef> refList =
63.58 + Collections.synchronizedSortedSet(new TreeSet<SessionRef>());
63.59 +
63.60 + static ReferenceQueue<Session> referenceQueue() {
63.61 + return refQueue;
63.62 + }
63.63 +
63.64 + static int totalCount() {
63.65 + return refList.size();
63.66 + }
63.67 +
63.68 + private static void drainRefQueueBounded() {
63.69 + while (true) {
63.70 + SessionRef next = (SessionRef) refQueue.poll();
63.71 + if (next == null) break;
63.72 + next.dispose();
63.73 + }
63.74 + }
63.75 +
63.76 + // handle to the native session
63.77 + private long id;
63.78 + private Token token;
63.79 +
63.80 + SessionRef(Session session, long id, Token token) {
63.81 + super(session, refQueue);
63.82 + this.id = id;
63.83 + this.token = token;
63.84 + refList.add(this);
63.85 + // TBD: run at some interval and not every time?
63.86 + drainRefQueueBounded();
63.87 + }
63.88 +
63.89 + void dispose() {
63.90 + refList.remove(this);
63.91 + try {
63.92 + token.p11.C_CloseSession(id);
63.93 + } catch (PKCS11Exception e1) {
63.94 + // ignore
63.95 + } catch (ProviderException e2) {
63.96 + // ignore
63.97 + } finally {
63.98 + this.clear();
63.99 + }
63.100 + }
63.101 +
63.102 + public int compareTo(SessionRef other) {
63.103 + if (this.id == other.id) {
63.104 + return 0;
63.105 + } else {
63.106 + return (this.id < other.id) ? -1 : 1;
63.107 + }
63.108 + }
63.109 +}
64.1 --- a/src/share/classes/sun/security/pkcs11/SessionManager.java Thu Apr 22 16:54:34 2010 -0700
64.2 +++ b/src/share/classes/sun/security/pkcs11/SessionManager.java Thu Apr 29 13:53:09 2010 -0700
64.3 @@ -1,5 +1,5 @@
64.4 /*
64.5 - * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
64.6 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
64.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
64.8 *
64.9 * This code is free software; you can redistribute it and/or modify it
64.10 @@ -51,10 +51,12 @@
64.11 * number of such sessions low. Note that we occasionally want to explicitly
64.12 * close a session, see P11Signature.
64.13 *
64.14 - * NOTE that all sessions obtained from this class MUST be returned using
64.15 - * either releaseSession() or closeSession() using a finally block or a
64.16 - * finalizer where appropriate. Otherwise, they will be "lost", i.e. there
64.17 - * will be a resource leak eventually leading to exhaustion.
64.18 + * NOTE that sessions obtained from this class SHOULD be returned using
64.19 + * either releaseSession() or closeSession() using a finally block when
64.20 + * not needed anymore. Otherwise, they will be left for cleanup via the
64.21 + * PhantomReference mechanism when GC kicks in, but it's best not to rely
64.22 + * on that since GC may not run timely enough since the native PKCS11 library
64.23 + * is also consuming memory.
64.24 *
64.25 * Note that sessions are automatically closed when they are not used for a
64.26 * period of time, see Session.
64.27 @@ -74,9 +76,6 @@
64.28 // maximum number of sessions to open with this token
64.29 private final int maxSessions;
64.30
64.31 - // total number of active sessions
64.32 - private int activeSessions;
64.33 -
64.34 // pool of available object sessions
64.35 private final Pool objSessions;
64.36
64.37 @@ -116,6 +115,11 @@
64.38 return (maxSessions <= DEFAULT_MAX_SESSIONS);
64.39 }
64.40
64.41 + // returns the total number of active sessions
64.42 + int totalSessionCount() {
64.43 + return SessionRef.totalCount();
64.44 + }
64.45 +
64.46 synchronized Session getObjSession() throws PKCS11Exception {
64.47 Session session = objSessions.poll();
64.48 if (session != null) {
64.49 @@ -136,7 +140,8 @@
64.50 }
64.51 // create a new session rather than re-using an obj session
64.52 // that avoids potential expensive cancels() for Signatures & RSACipher
64.53 - if (activeSessions < maxSessions) {
64.54 + if (maxSessions == Integer.MAX_VALUE ||
64.55 + totalSessionCount() < maxSessions) {
64.56 session = openSession();
64.57 return ensureValid(session);
64.58 }
64.59 @@ -159,14 +164,10 @@
64.60 if (debug != null) {
64.61 String location = new Exception().getStackTrace()[2].toString();
64.62 System.out.println("Killing session (" + location + ") active: "
64.63 - + activeSessions);
64.64 + + totalSessionCount());
64.65 }
64.66 - try {
64.67 - closeSession(session);
64.68 - return null;
64.69 - } catch (PKCS11Exception e) {
64.70 - throw new ProviderException(e);
64.71 - }
64.72 + closeSession(session);
64.73 + return null;
64.74 }
64.75
64.76 synchronized Session releaseSession(Session session) {
64.77 @@ -187,7 +188,8 @@
64.78 return;
64.79 }
64.80 if (debug != null) {
64.81 - System.out.println("Demoting session, active: " + activeSessions);
64.82 + System.out.println("Demoting session, active: " +
64.83 + totalSessionCount());
64.84 }
64.85 boolean present = objSessions.remove(session);
64.86 if (present == false) {
64.87 @@ -199,16 +201,17 @@
64.88 }
64.89
64.90 private Session openSession() throws PKCS11Exception {
64.91 - if (activeSessions >= maxSessions) {
64.92 + if ((maxSessions != Integer.MAX_VALUE) &&
64.93 + (totalSessionCount() >= maxSessions)) {
64.94 throw new ProviderException("No more sessions available");
64.95 }
64.96 long id = token.p11.C_OpenSession
64.97 (token.provider.slotID, openSessionFlags, null, null);
64.98 Session session = new Session(token, id);
64.99 - activeSessions++;
64.100 if (debug != null) {
64.101 - if (activeSessions > maxActiveSessions) {
64.102 - maxActiveSessions = activeSessions;
64.103 + int currTotal = totalSessionCount();
64.104 + if (currTotal > maxActiveSessions) {
64.105 + maxActiveSessions = currTotal;
64.106 if (maxActiveSessions % 10 == 0) {
64.107 System.out.println("Open sessions: " + maxActiveSessions);
64.108 }
64.109 @@ -217,13 +220,8 @@
64.110 return session;
64.111 }
64.112
64.113 - private void closeSession(Session session) throws PKCS11Exception {
64.114 - if (session.hasObjects()) {
64.115 - throw new ProviderException
64.116 - ("Internal error: close session with active objects");
64.117 - }
64.118 - token.p11.C_CloseSession(session.id());
64.119 - activeSessions--;
64.120 + private void closeSession(Session session) {
64.121 + session.close();
64.122 }
64.123
64.124 private static final class Pool {
64.125 @@ -267,28 +265,20 @@
64.126 }
64.127 Collections.sort(pool);
64.128 int i = 0;
64.129 - PKCS11Exception exc = null;
64.130 while (i < n - 1) { // always keep at least 1 session open
64.131 oldestSession = pool.get(i);
64.132 if (oldestSession.isLive(time)) {
64.133 break;
64.134 }
64.135 i++;
64.136 - try {
64.137 - mgr.closeSession(oldestSession);
64.138 - } catch (PKCS11Exception e) {
64.139 - exc = e;
64.140 - }
64.141 + mgr.closeSession(oldestSession);
64.142 }
64.143 if (debug != null) {
64.144 System.out.println("Closing " + i + " idle sessions, active: "
64.145 - + mgr.activeSessions);
64.146 + + mgr.totalSessionCount());
64.147 }
64.148 List<Session> subList = pool.subList(0, i);
64.149 subList.clear();
64.150 - if (exc != null) {
64.151 - throw new ProviderException(exc);
64.152 - }
64.153 }
64.154
64.155 }
65.1 --- a/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java Thu Apr 22 16:54:34 2010 -0700
65.2 +++ b/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Exception.java Thu Apr 29 13:53:09 2010 -0700
65.3 @@ -148,6 +148,7 @@
65.4 0x00000115,
65.5 0x00000120,
65.6 0x00000121,
65.7 + 0x00000130,
65.8 0x00000150,
65.9 0x00000160,
65.10 0x00000170,
65.11 @@ -156,6 +157,7 @@
65.12 0x00000191,
65.13 0x000001A0,
65.14 0x000001A1,
65.15 + 0x00000200,
65.16 0x80000000,
65.17 };
65.18 String[] errorMessages = new String[] {
65.19 @@ -234,6 +236,7 @@
65.20 "CKR_WRAPPING_KEY_TYPE_INCONSISTENT",
65.21 "CKR_RANDOM_SEED_NOT_SUPPORTED",
65.22 "CKR_RANDOM_NO_RNG",
65.23 + "CKR_DOMAIN_PARAMS_INVALID",
65.24 "CKR_BUFFER_TOO_SMALL",
65.25 "CKR_SAVED_STATE_INVALID",
65.26 "CKR_INFORMATION_SENSITIVE",
65.27 @@ -242,6 +245,7 @@
65.28 "CKR_CRYPTOKI_ALREADY_INITIALIZED",
65.29 "CKR_MUTEX_BAD",
65.30 "CKR_MUTEX_NOT_LOCKED",
65.31 + "CKR_FUNCTION_REJECTED",
65.32 "CKR_VENDOR_DEFINED",
65.33 };
65.34 errorMap = new HashMap<Long,String>();
66.1 --- a/src/share/classes/sun/security/smartcardio/CardImpl.java Thu Apr 22 16:54:34 2010 -0700
66.2 +++ b/src/share/classes/sun/security/smartcardio/CardImpl.java Thu Apr 29 13:53:09 2010 -0700
66.3 @@ -1,5 +1,5 @@
66.4 /*
66.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
66.6 + * Copyright 2005-2010 Sun Microsystems, Inc. All Rights Reserved.
66.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66.8 *
66.9 * This code is free software; you can redistribute it and/or modify it
66.10 @@ -214,7 +214,7 @@
66.11 SCardEndTransaction(cardId, SCARD_LEAVE_CARD);
66.12 } catch (PCSCException e) {
66.13 handleError(e);
66.14 - throw new CardException("beginExclusive() failed", e);
66.15 + throw new CardException("endExclusive() failed", e);
66.16 } finally {
66.17 exclusiveThread = null;
66.18 }
67.1 --- a/src/share/classes/sun/security/tools/JarSignerResources_ja.java Thu Apr 22 16:54:34 2010 -0700
67.2 +++ b/src/share/classes/sun/security/tools/JarSignerResources_ja.java Thu Apr 29 13:53:09 2010 -0700
67.3 @@ -1,5 +1,5 @@
67.4 /*
67.5 - * Copyright 2001-2006 Sun Microsystems, Inc. All Rights Reserved.
67.6 + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
67.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
67.8 *
67.9 * This code is free software; you can redistribute it and/or modify it
67.10 @@ -54,8 +54,8 @@
67.11 "\u30ad\u30fc\u30b9\u30c8\u30a2\u304c\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u4fdd\u8b77\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408 -storepass \u304a\u3088\u3073 -keypass \u3092\u6307\u5b9a\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044"},
67.12 {"Usage: jarsigner [options] jar-file alias",
67.13 "\u4f7f\u3044\u65b9: jarsigner [options] jar-file alias"},
67.14 - {" jarsigner -verify [options] jar-file",
67.15 - " jarsigner -verify [options] jar-file"},
67.16 + {" jarsigner -verify [options] jar-file [alias...]",
67.17 + " jarsigner -verify [options] jar-file [alias...]"},
67.18 {"[-keystore <url>] keystore location",
67.19 "[-keystore <url>] \u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u4f4d\u7f6e"},
67.20 {"[-storepass <password>] password for keystore integrity",
67.21 @@ -64,6 +64,8 @@
67.22 "[-storetype <type>] \u30ad\u30fc\u30b9\u30c8\u30a2\u306e\u578b"},
67.23 {"[-keypass <password>] password for private key (if different)",
67.24 "[-keypass <password>] \u975e\u516c\u958b\u9375\u306e\u30d1\u30b9\u30ef\u30fc\u30c9 (\u7570\u306a\u308b\u5834\u5408)"},
67.25 + {"[-certchain <file>] name of alternative certchain file",
67.26 + "[-certchain <file>] \u4ee3\u66ff\u8a3c\u660e\u9023\u9396\u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
67.27 {"[-sigfile <file>] name of .SF/.DSA file",
67.28 "[-sigfile <file>] .SF/.DSA \u30d5\u30a1\u30a4\u30eb\u306e\u540d\u524d"},
67.29 {"[-signedjar <file>] name of signed JAR file",
67.30 @@ -74,8 +76,10 @@
67.31 "[-sigalg <algorithm>] \u7f72\u540d\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u540d\u524d"},
67.32 {"[-verify] verify a signed JAR file",
67.33 "[-verify] \u7f72\u540d\u4ed8\u304d JAR \u30d5\u30a1\u30a4\u30eb\u306e\u691c\u8a3c"},
67.34 - {"[-verbose] verbose output when signing/verifying",
67.35 - "[-verbose] \u7f72\u540d/\u691c\u8a3c\u6642\u306e\u8a73\u7d30\u51fa\u529b"},
67.36 + {"[-verbose[:suboptions]] verbose output when signing/verifying.",
67.37 + "[-verbose[:suboptions]] \u7f72\u540d/\u691c\u8a3c\u6642\u306e\u8a73\u7d30\u51fa\u529b"},
67.38 + {" suboptions can be all, grouped or summary",
67.39 + " \u30b5\u30d6\u30aa\u30d7\u30b7\u30e7\u30f3\u306f all\u3001grouped\u3001\u307e\u305f\u306f summary \u3067\u3059"},
67.40 {"[-certs] display certificates when verbose and verifying",
67.41 "[-certs] \u8a73\u7d30\u51fa\u529b\u304a\u3088\u3073\u691c\u8a3c\u6642\u306b\u8a3c\u660e\u66f8\u3092\u8868\u793a"},
67.42 {"[-tsa <url>] location of the Timestamping Authority",
67.43 @@ -98,10 +102,22 @@
67.44 "[-providerClass <class> \u6697\u53f7\u5316\u30b5\u30fc\u30d3\u30b9\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u540d\u524d"},
67.45 {" [-providerArg <arg>]] ... master class file and constructor argument",
67.46 " [-providerArg <arg>]] ... \u30de\u30b9\u30bf\u30fc\u30af\u30e9\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u5f15\u6570"},
67.47 + {"[-strict] treat warnings as errors",
67.48 + "[-strict] \u8b66\u544a\u3092\u30a8\u30e9\u30fc\u3068\u3057\u3066\u53d6\u308a\u6271\u3044\u307e\u3059"},
67.49 + {"Option lacks argument", "\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u5f15\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002"},
67.50 + {"Please type jarsigner -help for usage", "\u4f7f\u3044\u65b9\u3092\u898b\u308b\u306b\u306f jarsigner -help \u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
67.51 + {"Please specify jarfile name", "jar \u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
67.52 + {"Please specify alias name", "\u5225\u540d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002"},
67.53 + {"Only one alias can be specified", "\u6307\u5b9a\u3067\u304d\u308b\u5225\u540d\u306f 1 \u3064\u3060\u3051\u3067\u3059\u3002"},
67.54 + {"This jar contains signed entries which is not signed by the specified alias(es).",
67.55 + "\u3053\u306e jar \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u7f72\u540d\u6e08\u307f\u30a8\u30f3\u30c8\u30ea\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u5225\u540d\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
67.56 + {"This jar contains signed entries that's not signed by alias in this keystore.",
67.57 + "\u3053\u306e jar \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u7f72\u540d\u6e08\u307f\u30a8\u30f3\u30c8\u30ea\u306f\u3001\u3053\u306e\u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
67.58 {"s", "s"},
67.59 {"m", "m"},
67.60 {"k", "k"},
67.61 {"i", "i"},
67.62 + {"(and %d more)", "(\u3055\u3089\u306b %d)"},
67.63 {" s = signature was verified ",
67.64 " s = \u7f72\u540d\u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f\u3002"},
67.65 {" m = entry is listed in manifest",
67.66 @@ -110,7 +126,11 @@
67.67 " k = 1 \u3064\u4ee5\u4e0a\u306e\u8a3c\u660e\u66f8\u304c\u30ad\u30fc\u30b9\u30c8\u30a2\u3067\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
67.68 {" i = at least one certificate was found in identity scope",
67.69 " i = 1 \u3064\u4ee5\u4e0a\u306e\u8a3c\u660e\u66f8\u304c\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u30b9\u30b3\u30fc\u30d7\u3067\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
67.70 + {" X = not signed by specified alias(es)",
67.71 + "X = \u6307\u5b9a\u3055\u308c\u305f\u5225\u540d\u3067\u7f72\u540d\u3055\u308c\u305f\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002"},
67.72 {"no manifest.", "\u30de\u30cb\u30d5\u30a7\u30b9\u30c8\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
67.73 + {"(Signature related entries)","(\u7f72\u540d\u306b\u95a2\u9023\u3059\u308b\u30a8\u30f3\u30c8\u30ea)"},
67.74 + {"(Unsigned entries)", "(\u7f72\u540d\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea)"},
67.75 {"jar is unsigned. (signatures missing or not parsable)",
67.76 "jar \u306f\u7f72\u540d\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002(\u7f72\u540d\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u69cb\u6587\u89e3\u6790\u3067\u304d\u307e\u305b\u3093)"},
67.77 {"jar verified.", "jar \u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f\u3002"},
67.78 @@ -134,6 +154,12 @@
67.79 "\u30ad\u30fc\u30b9\u30c8\u30a2\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3067\u304d\u307e\u305b\u3093: "},
67.80 {"Certificate chain not found for: alias. alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
67.81 "\u6b21\u306e\u8a3c\u660e\u9023\u9396\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093: {0}\u3002 {1} \u306f\u3001\u975e\u516c\u958b\u9375\u304a\u3088\u3073\u5bfe\u5fdc\u3059\u308b\u516c\u958b\u9375\u8a3c\u660e\u9023\u9396\u3092\u542b\u3080\u6709\u52b9\u306a KeyStore \u9375\u30a8\u30f3\u30c8\u30ea\u3092\u53c2\u7167\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"},
67.82 + {"File specified by -certchain does not exist",
67.83 + "-certchain \u3067\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
67.84 + {"Cannot restore certchain from file specified",
67.85 + "\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8a3c\u660e\u9023\u9396\u3092\u5fa9\u5143\u3067\u304d\u307e\u305b\u3093\u3002"},
67.86 + {"Certificate chain not found in the file specified.",
67.87 + "\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u8a3c\u660e\u9023\u9396\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002"},
67.88 {"found non-X.509 certificate in signer's chain",
67.89 "\u7f72\u540d\u8005\u306e\u9023\u9396\u5185\u3067\u975e X.509 \u8a3c\u660e\u66f8\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002"},
67.90 {"incomplete certificate chain", "\u4e0d\u5b8c\u5168\u306a\u8a3c\u660e\u9023\u9396"},
67.91 @@ -149,6 +175,7 @@
67.92 {"certificate is not valid until",
67.93 "\u8a3c\u660e\u66f8\u306f {0} \u307e\u3067\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093"},
67.94 {"certificate will expire on", "\u8a3c\u660e\u66f8\u306f {0} \u306b\u5931\u52b9\u3057\u307e\u3059"},
67.95 + {"[CertPath not validated: ", "[CertPath \u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093:"},
67.96 {"requesting a signature timestamp",
67.97 "\u7f72\u540d\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u306e\u8981\u6c42"},
67.98 {"TSA location: ", "TSA \u306e\u5834\u6240: "},
67.99 @@ -189,14 +216,18 @@
67.100 "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
67.101 {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
67.102 "\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u3067\u306f\u3001\u30b3\u30fc\u30c9\u7f72\u540d\u306f\u8a31\u53ef\u3055\u308c\u307e\u305b\u3093\u3002"},
67.103 - {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
67.104 - "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e KeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.105 - {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
67.106 - "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.107 - {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
67.108 - "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.109 + {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
67.110 + "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e KeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.111 + {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
67.112 + "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e ExtendedKeyUsage \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.113 + {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
67.114 + "\u3053\u306e jar \u306b\u306f\u3001\u7f72\u540d\u8005\u8a3c\u660e\u66f8\u306e NetscapeCertType \u62e1\u5f35\u6a5f\u80fd\u304c\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u8a31\u53ef\u3057\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.115 {"[{0} extension does not support code signing]",
67.116 "[{0} \u62e1\u5f35\u6a5f\u80fd\u306f\u30b3\u30fc\u30c9\u7f72\u540d\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093]"},
67.117 + {"The signer's certificate chain is not validated.",
67.118 + "\u7f72\u540d\u8005\u306e\u8a3c\u660e\u9023\u9396\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"},
67.119 + {"This jar contains entries whose certificate chain is not validated.",
67.120 + "\u3053\u306e jar \u306b\u306f\u8a3c\u660e\u9023\u9396\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002"},
67.121 };
67.122
67.123 /**
68.1 --- a/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java Thu Apr 22 16:54:34 2010 -0700
68.2 +++ b/src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java Thu Apr 29 13:53:09 2010 -0700
68.3 @@ -1,5 +1,5 @@
68.4 /*
68.5 - * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
68.6 + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
68.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
68.8 *
68.9 * This code is free software; you can redistribute it and/or modify it
68.10 @@ -51,11 +51,11 @@
68.11 {"If -protected is specified, then -storepass and -keypass must not be specified",
68.12 "\u5982\u679c\u6307\u5b9a\u4e86 -protected\uff0c\u5219\u4e0d\u80fd\u6307\u5b9a -storepass \u548c -keypass"},
68.13 {"If keystore is not password protected, then -storepass and -keypass must not be specified",
68.14 -"\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass"},
68.15 + "\u5982\u679c\u5bc6\u94a5\u5e93\u672a\u53d7\u5bc6\u7801\u4fdd\u62a4\uff0c\u5219\u8bf7\u52ff\u6307\u5b9a -storepass \u548c -keypass"},
68.16 {"Usage: jarsigner [options] jar-file alias",
68.17 "\u7528\u6cd5\uff1ajarsigner [\u9009\u9879] jar \u6587\u4ef6\u522b\u540d"},
68.18 - {" jarsigner -verify [options] jar-file",
68.19 - " jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6"},
68.20 + {" jarsigner -verify [options] jar-file [alias...]",
68.21 + " jarsigner -verify [\u9009\u9879] jar \u6587\u4ef6 [\u522b\u540d...]"},
68.22 {"[-keystore <url>] keystore location",
68.23 "[-keystore <url>] \u5bc6\u94a5\u5e93\u4f4d\u7f6e"},
68.24 {"[-storepass <password>] password for keystore integrity",
68.25 @@ -64,6 +64,8 @@
68.26 "[-storetype <\u7c7b\u578b>] \u5bc6\u94a5\u5e93\u7c7b\u578b"},
68.27 {"[-keypass <password>] password for private key (if different)",
68.28 "[-keypass <\u53e3\u4ee4>] \u4e13\u7528\u5bc6\u94a5\u7684\u53e3\u4ee4\uff08\u5982\u679c\u4e0d\u540c\uff09"},
68.29 + {"[-certchain <file>] name of alternative certchain file",
68.30 + "[-certchain <\u6587\u4ef6>] \u66ff\u4ee3\u8bc1\u4e66\u94fe\u6587\u4ef6\u7684\u540d\u79f0"},
68.31 {"[-sigfile <file>] name of .SF/.DSA file",
68.32 "[-sigfile <\u6587\u4ef6>] .SF/.DSA \u6587\u4ef6\u7684\u540d\u79f0"},
68.33 {"[-signedjar <file>] name of signed JAR file",
68.34 @@ -74,8 +76,10 @@
68.35 "[-sigalg <\u7b97\u6cd5>] \u7b7e\u540d\u7b97\u6cd5\u7684\u540d\u79f0"},
68.36 {"[-verify] verify a signed JAR file",
68.37 "[-verify] \u9a8c\u8bc1\u5df2\u7b7e\u540d\u7684 JAR \u6587\u4ef6"},
68.38 - {"[-verbose] verbose output when signing/verifying",
68.39 - "[-verbose] \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f"},
68.40 + {"[-verbose[:suboptions]] verbose output when signing/verifying.",
68.41 + "[-verbose[:\u5b50\u9009\u9879]] \u7b7e\u540d/\u9a8c\u8bc1\u65f6\u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u3002"},
68.42 + {" suboptions can be all, grouped or summary",
68.43 + " \u5b50\u9009\u9879\u53ef\u4ee5\u4e3a all\u3001grouped \u6216 summary"},
68.44 {"[-certs] display certificates when verbose and verifying",
68.45 "[-certs] \u8f93\u51fa\u8be6\u7ec6\u4fe1\u606f\u548c\u9a8c\u8bc1\u65f6\u663e\u793a\u8bc1\u4e66"},
68.46 {"[-tsa <url>] location of the Timestamping Authority",
68.47 @@ -98,10 +102,22 @@
68.48 "[-providerClass <\u7c7b> \u52a0\u5bc6\u670d\u52a1\u63d0\u4f9b\u8005\u7684\u540d\u79f0"},
68.49 {" [-providerArg <arg>]] ... master class file and constructor argument",
68.50 " [-providerArg <\u53c2\u6570>]] ... \u4e3b\u7c7b\u6587\u4ef6\u548c\u6784\u9020\u51fd\u6570\u53c2\u6570"},
68.51 + {"[-strict] treat warnings as errors",
68.52 + "[-strict] \u5c06\u8b66\u544a\u89c6\u4e3a\u9519\u8bef"},
68.53 + {"Option lacks argument", "\u9009\u9879\u7f3a\u5c11\u53c2\u6570"},
68.54 + {"Please type jarsigner -help for usage", "\u6709\u5173\u7528\u6cd5\uff0c\u8bf7\u952e\u5165 jarsigner -help"},
68.55 + {"Please specify jarfile name", "\u8bf7\u6307\u5b9a jarfile \u540d\u79f0"},
68.56 + {"Please specify alias name", "\u8bf7\u6307\u5b9a\u522b\u540d"},
68.57 + {"Only one alias can be specified", "\u53ea\u80fd\u6307\u5b9a\u4e00\u4e2a\u522b\u540d"},
68.58 + {"This jar contains signed entries which is not signed by the specified alias(es).",
68.59 + "\u6b64 jar \u5305\u542b\u6307\u5b9a\u522b\u540d\u672a\u7b7e\u540d\u7684\u7b7e\u540d\u6761\u76ee\u3002"},
68.60 + {"This jar contains signed entries that's not signed by alias in this keystore.",
68.61 + "\u6b64 jar \u5305\u542b\u6b64\u5bc6\u94a5\u5e93\u4e2d\u522b\u540d\u672a\u7b7e\u540d\u7684\u7b7e\u540d\u6761\u76ee\u3002"},
68.62 {"s", "s"},
68.63 {"m", "m"},
68.64 {"k", "k"},
68.65 {"i", "i"},
68.66 + {"(and %d more)", "\uff08\u8fd8\u6709 %d\uff09"},
68.67 {" s = signature was verified ",
68.68 " s = \u5df2\u9a8c\u8bc1\u7b7e\u540d "},
68.69 {" m = entry is listed in manifest",
68.70 @@ -110,7 +126,11 @@
68.71 " k = \u5728\u5bc6\u94a5\u5e93\u4e2d\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
68.72 {" i = at least one certificate was found in identity scope",
68.73 " i = \u5728\u8eab\u4efd\u4f5c\u7528\u57df\u5185\u81f3\u5c11\u627e\u5230\u4e86\u4e00\u4e2a\u8bc1\u4e66"},
68.74 + {" X = not signed by specified alias(es)",
68.75 + " X = \u672a\u7ecf\u6307\u5b9a\u522b\u540d\u7b7e\u540d"},
68.76 {"no manifest.", "\u6ca1\u6709\u6e05\u5355\u3002"},
68.77 + {"(Signature related entries)","\uff08\u4e0e\u7b7e\u540d\u6709\u5173\u7684\u6761\u76ee\uff09"},
68.78 + {"(Unsigned entries)", "\uff08\u672a\u7b7e\u540d\u7684\u6761\u76ee\uff09"},
68.79 {"jar is unsigned. (signatures missing or not parsable)",
68.80 "jar \u672a\u7b7e\u540d\u3002\uff08\u7f3a\u5c11\u7b7e\u540d\u6216\u7b7e\u540d\u65e0\u6cd5\u89e3\u6790\uff09"},
68.81 {"jar verified.", "jar \u5df2\u9a8c\u8bc1\u3002"},
68.82 @@ -134,6 +154,12 @@
68.83 "\u65e0\u6cd5\u5b9e\u4f8b\u5316\u5bc6\u94a5\u5e93\u7c7b\uff1a "},
68.84 {"Certificate chain not found for: alias. alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
68.85 "\u627e\u4e0d\u5230 {0} \u7684\u8bc1\u4e66\u94fe\u3002{1} \u5fc5\u987b\u5f15\u7528\u5305\u542b\u4e13\u7528\u5bc6\u94a5\u548c\u76f8\u5e94\u7684\u516c\u5171\u5bc6\u94a5\u8bc1\u4e66\u94fe\u7684\u6709\u6548\u5bc6\u94a5\u5e93\u5bc6\u94a5\u6761\u76ee\u3002"},
68.86 + {"File specified by -certchain does not exist",
68.87 + "-certchain \u6307\u5b9a\u7684\u6587\u4ef6\u4e0d\u5b58\u5728"},
68.88 + {"Cannot restore certchain from file specified",
68.89 + "\u65e0\u6cd5\u4ece\u6307\u5b9a\u6587\u4ef6\u6062\u590d\u8bc1\u4e66\u94fe"},
68.90 + {"Certificate chain not found in the file specified.",
68.91 + "\u5728\u6307\u5b9a\u6587\u4ef6\u4e2d\u672a\u627e\u5230\u8bc1\u4e66\u94fe\u3002"},
68.92 {"found non-X.509 certificate in signer's chain",
68.93 "\u5728\u7b7e\u540d\u8005\u7684\u94fe\u4e2d\u627e\u5230\u975e X.509 \u8bc1\u4e66"},
68.94 {"incomplete certificate chain", "\u8bc1\u4e66\u94fe\u4e0d\u5b8c\u6574"},
68.95 @@ -149,6 +175,7 @@
68.96 {"certificate is not valid until",
68.97 "\u76f4\u5230 {0}\uff0c\u8bc1\u4e66\u624d\u6709\u6548"},
68.98 {"certificate will expire on", "\u8bc1\u4e66\u5c06\u5728 {0} \u5230\u671f"},
68.99 + {"[CertPath not validated: ", "[\u8bc1\u4e66\u8def\u5f84\u672a\u7ecf\u8fc7\u9a8c\u8bc1\uff1a"},
68.100 {"requesting a signature timestamp",
68.101 "\u6b63\u5728\u8bf7\u6c42\u7b7e\u540d\u65f6\u95f4\u6233"},
68.102 {"TSA location: ", "TSA \u4f4d\u7f6e\uff1a "},
68.103 @@ -184,19 +211,23 @@
68.104 {"The signer certificate is not yet valid.",
68.105 "\u7b7e\u540d\u8005\u8bc1\u4e66\u4ecd\u65e0\u6548\u3002"},
68.106 {"The signer certificate's KeyUsage extension doesn't allow code signing.",
68.107 -"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
68.108 + "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
68.109 {"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
68.110 -"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
68.111 + "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
68.112 {"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
68.113 -"\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
68.114 - {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
68.115 -"\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
68.116 - {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
68.117 -"\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
68.118 - {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
68.119 -"\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
68.120 + "\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u3002"},
68.121 + {"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
68.122 + "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 KeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
68.123 + {"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
68.124 + "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 ExtendedKeyUsage \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
68.125 + {"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
68.126 + "\u6b64 jar \u5305\u542b\u7531\u4e8e\u7b7e\u540d\u8005\u8bc1\u4e66\u7684 NetscapeCertType \u6269\u5c55\u800c\u65e0\u6cd5\u8fdb\u884c\u4ee3\u7801\u7b7e\u540d\u7684\u6761\u76ee\u3002"},
68.127 {"[{0} extension does not support code signing]",
68.128 -"[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]"},
68.129 + "[{0} \u6269\u5c55\u4e0d\u652f\u6301\u4ee3\u7801\u7b7e\u540d]"},
68.130 + {"The signer's certificate chain is not validated.",
68.131 + "\u7b7e\u540d\u8005\u7684\u8bc1\u4e66\u94fe\u672a\u7ecf\u8fc7\u9a8c\u8bc1\u3002"},
68.132 + {"This jar contains entries whose certificate chain is not validated.",
68.133 + "\u6b64 jar \u5305\u542b\u8bc1\u4e66\u94fe\u672a\u7ecf\u8fc7\u9a8c\u8bc1\u7684\u6761\u76ee\u3002"},
68.134 };
68.135
68.136 /**
69.1 --- a/src/share/classes/sun/security/tools/KeyTool.java Thu Apr 22 16:54:34 2010 -0700
69.2 +++ b/src/share/classes/sun/security/tools/KeyTool.java Thu Apr 29 13:53:09 2010 -0700
69.3 @@ -1211,6 +1211,14 @@
69.4 X509CertImpl cert = new X509CertImpl(info);
69.5 cert.sign(privateKey, sigAlgName);
69.6 dumpCert(cert, out);
69.7 + for (Certificate ca: keyStore.getCertificateChain(alias)) {
69.8 + if (ca instanceof X509Certificate) {
69.9 + X509Certificate xca = (X509Certificate)ca;
69.10 + if (!isSelfSigned(xca)) {
69.11 + dumpCert(xca, out);
69.12 + }
69.13 + }
69.14 + }
69.15 }
69.16
69.17 /**
69.18 @@ -2640,19 +2648,33 @@
69.19 }
69.20
69.21 /**
69.22 - * Returns true if the given certificate is trusted, false otherwise.
69.23 + * Locates a signer for a given certificate from a given keystore and
69.24 + * returns the signer's certificate.
69.25 + * @param cert the certificate whose signer is searched, not null
69.26 + * @param ks the keystore to search with, not null
69.27 + * @return <code>cert</code> itself if it's already inside <code>ks</code>,
69.28 + * or a certificate inside <code>ks</code> who signs <code>cert</code>,
69.29 + * or null otherwise.
69.30 */
69.31 - private boolean isTrusted(Certificate cert)
69.32 - throws Exception
69.33 - {
69.34 - if (keyStore.getCertificateAlias(cert) != null) {
69.35 - return true; // found in own keystore
69.36 + private static Certificate getTrustedSigner(Certificate cert, KeyStore ks)
69.37 + throws Exception {
69.38 + if (ks.getCertificateAlias(cert) != null) {
69.39 + return cert;
69.40 }
69.41 - if (trustcacerts && (caks != null) &&
69.42 - (caks.getCertificateAlias(cert) != null)) {
69.43 - return true; // found in CA keystore
69.44 + for (Enumeration<String> aliases = ks.aliases();
69.45 + aliases.hasMoreElements(); ) {
69.46 + String name = aliases.nextElement();
69.47 + Certificate trustedCert = ks.getCertificate(name);
69.48 + if (trustedCert != null) {
69.49 + try {
69.50 + cert.verify(trustedCert.getPublicKey());
69.51 + return trustedCert;
69.52 + } catch (Exception e) {
69.53 + // Not verified, skip to the next one
69.54 + }
69.55 + }
69.56 }
69.57 - return false;
69.58 + return null;
69.59 }
69.60
69.61 /**
69.62 @@ -2985,48 +3007,33 @@
69.63 return replyCerts;
69.64 }
69.65
69.66 - // do we trust the (root) cert at the top?
69.67 + // do we trust the cert at the top?
69.68 Certificate topCert = replyCerts[replyCerts.length-1];
69.69 - if (!isTrusted(topCert)) {
69.70 - boolean verified = false;
69.71 - Certificate rootCert = null;
69.72 - if (trustcacerts && (caks!= null)) {
69.73 - for (Enumeration<String> aliases = caks.aliases();
69.74 - aliases.hasMoreElements(); ) {
69.75 - String name = aliases.nextElement();
69.76 - rootCert = caks.getCertificate(name);
69.77 - if (rootCert != null) {
69.78 - try {
69.79 - topCert.verify(rootCert.getPublicKey());
69.80 - verified = true;
69.81 - break;
69.82 - } catch (Exception e) {
69.83 - }
69.84 - }
69.85 - }
69.86 + Certificate root = getTrustedSigner(topCert, keyStore);
69.87 + if (root == null && trustcacerts && caks != null) {
69.88 + root = getTrustedSigner(topCert, caks);
69.89 + }
69.90 + if (root == null) {
69.91 + System.err.println();
69.92 + System.err.println
69.93 + (rb.getString("Top-level certificate in reply:\n"));
69.94 + printX509Cert((X509Certificate)topCert, System.out);
69.95 + System.err.println();
69.96 + System.err.print(rb.getString("... is not trusted. "));
69.97 + String reply = getYesNoReply
69.98 + (rb.getString("Install reply anyway? [no]: "));
69.99 + if ("NO".equals(reply)) {
69.100 + return null;
69.101 }
69.102 - if (!verified) {
69.103 - System.err.println();
69.104 - System.err.println
69.105 - (rb.getString("Top-level certificate in reply:\n"));
69.106 - printX509Cert((X509Certificate)topCert, System.out);
69.107 - System.err.println();
69.108 - System.err.print(rb.getString("... is not trusted. "));
69.109 - String reply = getYesNoReply
69.110 - (rb.getString("Install reply anyway? [no]: "));
69.111 - if ("NO".equals(reply)) {
69.112 - return null;
69.113 - }
69.114 - } else {
69.115 - if (!isSelfSigned((X509Certificate)topCert)) {
69.116 - // append the (self-signed) root CA cert to the chain
69.117 - Certificate[] tmpCerts =
69.118 - new Certificate[replyCerts.length+1];
69.119 - System.arraycopy(replyCerts, 0, tmpCerts, 0,
69.120 - replyCerts.length);
69.121 - tmpCerts[tmpCerts.length-1] = rootCert;
69.122 - replyCerts = tmpCerts;
69.123 - }
69.124 + } else {
69.125 + if (root != topCert) {
69.126 + // append the root CA cert to the chain
69.127 + Certificate[] tmpCerts =
69.128 + new Certificate[replyCerts.length+1];
69.129 + System.arraycopy(replyCerts, 0, tmpCerts, 0,
69.130 + replyCerts.length);
69.131 + tmpCerts[tmpCerts.length-1] = root;
69.132 + replyCerts = tmpCerts;
69.133 }
69.134 }
69.135
70.1 --- a/src/share/classes/sun/security/tools/TimestampedSigner.java Thu Apr 22 16:54:34 2010 -0700
70.2 +++ b/src/share/classes/sun/security/tools/TimestampedSigner.java Thu Apr 29 13:53:09 2010 -0700
70.3 @@ -82,6 +82,11 @@
70.4 private static final String KP_TIMESTAMPING_OID = "1.3.6.1.5.5.7.3.8";
70.5
70.6 /*
70.7 + * Object identifier for extendedKeyUsage extension
70.8 + */
70.9 + private static final String EXTENDED_KEY_USAGE_OID = "2.5.29.37";
70.10 +
70.11 + /*
70.12 * Object identifier for the timestamping access descriptors.
70.13 */
70.14 private static final ObjectIdentifier AD_TIMESTAMPING_Id;
70.15 @@ -357,34 +362,26 @@
70.16 }
70.17
70.18 // Examine the TSA's certificate (if present)
70.19 - List<String> keyPurposes = null;
70.20 - X509Certificate[] certs = tsToken.getCertificates();
70.21 - if (certs != null && certs.length > 0) {
70.22 - // Use certficate from the TSP reply
70.23 - // Pick out the cert for the TS server, which is the end-entity
70.24 - // one inside the chain.
70.25 - for (X509Certificate cert: certs) {
70.26 - boolean isSigner = false;
70.27 - for (X509Certificate cert2: certs) {
70.28 - if (cert != cert2) {
70.29 - if (cert.getSubjectDN().equals(cert2.getIssuerDN())) {
70.30 - isSigner = true;
70.31 - break;
70.32 - }
70.33 - }
70.34 + for (SignerInfo si: tsToken.getSignerInfos()) {
70.35 + X509Certificate cert = si.getCertificate(tsToken);
70.36 + if (cert == null) {
70.37 + // Error, we've already set tsRequestCertificate = true
70.38 + throw new CertificateException(
70.39 + "Certificate not included in timestamp token");
70.40 + } else {
70.41 + if (!cert.getCriticalExtensionOIDs().contains(
70.42 + EXTENDED_KEY_USAGE_OID)) {
70.43 + throw new CertificateException(
70.44 + "Certificate is not valid for timestamping");
70.45 }
70.46 - if (!isSigner) {
70.47 - keyPurposes = cert.getExtendedKeyUsage();
70.48 - if (keyPurposes == null ||
70.49 - ! keyPurposes.contains(KP_TIMESTAMPING_OID)) {
70.50 - throw new CertificateException(
70.51 - "Certificate is not valid for timestamping");
70.52 - }
70.53 - break;
70.54 + List keyPurposes = cert.getExtendedKeyUsage();
70.55 + if (keyPurposes == null ||
70.56 + ! keyPurposes.contains(KP_TIMESTAMPING_OID)) {
70.57 + throw new CertificateException(
70.58 + "Certificate is not valid for timestamping");
70.59 }
70.60 }
70.61 }
70.62 -
70.63 return tsReply.getEncodedToken();
70.64 }
70.65 }
71.1 --- a/src/share/classes/sun/security/util/AuthResources_de.java Thu Apr 22 16:54:34 2010 -0700
71.2 +++ b/src/share/classes/sun/security/util/AuthResources_de.java Thu Apr 29 13:53:09 2010 -0700
71.3 @@ -1,5 +1,5 @@
71.4 /*
71.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
71.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
71.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
71.8 *
71.9 * This code is free software; you can redistribute it and/or modify it
71.10 @@ -53,30 +53,30 @@
71.11
71.12 // UnixPrincipals
71.13 {"UnixNumericGroupPrincipal [Primary Group]: name",
71.14 - "Unix numerischer Gruppen-Principal [Prim\u00e4rgruppe]: {0}"},
71.15 + "Unix numerischer Gruppen-Principal [Prim\u00e4rgruppe]: {0}"},
71.16 {"UnixNumericGroupPrincipal [Supplementary Group]: name",
71.17 - "Unix numerische Gruppen-Principal [Zusatzgruppe]: {0}"},
71.18 + "Unix numerische Gruppen-Principal [Zusatzgruppe]: {0}"},
71.19 {"UnixNumericUserPrincipal: name", "Unix numerischer Benutzer-Principal: {0}"},
71.20 {"UnixPrincipal: name", "Unix-Principal: {0}"},
71.21
71.22 // com.sun.security.auth.login.ConfigFile
71.23 {"Unable to properly expand config", "{0} kann nicht ordnungsgem\u00e4\u00df erweitert werden."},
71.24 {"extra_config (No such file or directory)",
71.25 - "{0} (Datei oder Verzeichnis existiert nicht.)"},
71.26 - {"Unable to locate a login configuration",
71.27 - "Anmeldekonfiguration kann nicht gefunden werden."},
71.28 + "{0} (Datei oder Verzeichnis existiert nicht.)"},
71.29 + {"Configuration Error:\n\tNo such file or directory",
71.30 + "Konfigurationsfehler: \n\tKeine Datei oder kein Verzeichnis dieser Art vorhanden"},
71.31 {"Configuration Error:\n\tInvalid control flag, flag",
71.32 - "Konfigurationsfehler:\n\tUng\u00fcltiges Steuerflag, {0}"},
71.33 + "Konfigurationsfehler:\n\tUng\u00fcltiges Steuerflag, {0}"},
71.34 {"Configuration Error:\n\tCan not specify multiple entries for appName",
71.35 - "Konfigurationsfehler:\n\tEs k\u00f6nnen nicht mehrere Angaben f\u00fcr {0} gemacht werden."},
71.36 + "Konfigurationsfehler:\n\tEs k\u00f6nnen nicht mehrere Angaben f\u00fcr {0} gemacht werden."},
71.37 {"Configuration Error:\n\texpected [expect], read [end of file]",
71.38 - "Konfigurationsfehler:\n\terwartet [{0}], gelesen [Dateiende]"},
71.39 + "Konfigurationsfehler:\n\terwartet [{0}], gelesen [Dateiende]"},
71.40 {"Configuration Error:\n\tLine line: expected [expect], found [value]",
71.41 - "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}], gefunden [{2}]"},
71.42 + "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}], gefunden [{2}]"},
71.43 {"Configuration Error:\n\tLine line: expected [expect]",
71.44 - "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}]"},
71.45 + "Konfigurationsfehler:\n\tZeile {0}: erwartet [{1}]"},
71.46 {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
71.47 - "Konfigurationsfehler:\n\tZeile {0}: Systemeigenschaft [{1}] auf leeren Wert erweitert"},
71.48 + "Konfigurationsfehler:\n\tZeile {0}: Systemeigenschaft [{1}] auf leeren Wert erweitert"},
71.49
71.50 // com.sun.security.auth.module.JndiLoginModule
71.51 {"username: ","Benutzername: "},
71.52 @@ -88,13 +88,13 @@
71.53 {"Keystore alias: ","Keystore-Alias: "},
71.54 {"Keystore password: ","Keystore-Passwort: "},
71.55 {"Private key password (optional): ",
71.56 - "Privates Schl\u00fcsselpasswort (optional): "},
71.57 + "Privates Schl\u00fcsselpasswort (optional): "},
71.58
71.59 // com.sun.security.auth.module.Krb5LoginModule
71.60 {"Kerberos username [[defUsername]]: ",
71.61 - "Kerberos-Benutzername [{0}]: "},
71.62 + "Kerberos-Benutzername [{0}]: "},
71.63 {"Kerberos password for [username]: ",
71.64 - "Kerberos-Passwort f\u00fcr {0}: "},
71.65 + "Kerberos-Passwort f\u00fcr {0}: "},
71.66
71.67 /*** EVERYTHING BELOW IS DEPRECATED ***/
71.68
71.69 @@ -107,17 +107,17 @@
71.70 {"(", "("},
71.71 {")", ")"},
71.72 {"attempt to add a Permission to a readonly PermissionCollection",
71.73 - "Es wurde versucht, eine Berechtigung zu einer schreibgesch\u00fctzten Berechtigungssammlung hinzuzuf\u00fcgen."},
71.74 + "Es wurde versucht, eine Berechtigung zu einer schreibgesch\u00fctzten Berechtigungssammlung hinzuzuf\u00fcgen."},
71.75
71.76 // com.sun.security.auth.PolicyParser
71.77 {"expected keystore type", "erwarteter Keystore-Typ"},
71.78 {"can not specify Principal with a ",
71.79 - "Principal kann nicht mit einer "},
71.80 + "Principal kann nicht mit einer "},
71.81 {"wildcard class without a wildcard name",
71.82 - "Wildcard-Klasse ohne Wildcard-Namen angegeben werden."},
71.83 + "Wildcard-Klasse ohne Wildcard-Namen angegeben werden."},
71.84 {"expected codeBase or SignedBy", "codeBase oder SignedBy erwartet"},
71.85 {"only Principal-based grant entries permitted",
71.86 - "Nur Principal-basierte Berechtigungseintr\u00e4ge erlaubt"},
71.87 + "Nur Principal-basierte Berechtigungseintr\u00e4ge erlaubt"},
71.88 {"expected permission entry", "Berechtigungseintrag erwartet"},
71.89 {"number ", "Nummer "},
71.90 {"expected ", "erwartet "},
71.91 @@ -130,11 +130,11 @@
71.92
71.93 // SolarisPrincipals
71.94 {"SolarisNumericGroupPrincipal [Primary Group]: ",
71.95 - "Solaris numerischer Gruppen-Principal [Prim\u00e4rgruppe]: "},
71.96 + "Solaris numerischer Gruppen-Principal [Prim\u00e4rgruppe]: "},
71.97 {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
71.98 - "Solaris numerischer Gruppen-Principal [Zusatzgruppe]: "},
71.99 + "Solaris numerischer Gruppen-Principal [Zusatzgruppe]: "},
71.100 {"SolarisNumericUserPrincipal: ",
71.101 - "Solaris numerischer Benutzer-Principal: "},
71.102 + "Solaris numerischer Benutzer-Principal: "},
71.103 {"SolarisPrincipal: ", "Solaris-Principal: "},
71.104 {"provided null name", "enthielt leeren Namen"}
71.105
72.1 --- a/src/share/classes/sun/security/util/AuthResources_es.java Thu Apr 22 16:54:34 2010 -0700
72.2 +++ b/src/share/classes/sun/security/util/AuthResources_es.java Thu Apr 29 13:53:09 2010 -0700
72.3 @@ -1,5 +1,5 @@
72.4 /*
72.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
72.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
72.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
72.8 *
72.9 * This code is free software; you can redistribute it and/or modify it
72.10 @@ -53,30 +53,30 @@
72.11
72.12 // UnixPrincipals
72.13 {"UnixNumericGroupPrincipal [Primary Group]: name",
72.14 - "UnixNumericGroupPrincipal [Grupo principal] {0}"},
72.15 + "UnixNumericGroupPrincipal [Grupo principal] {0}"},
72.16 {"UnixNumericGroupPrincipal [Supplementary Group]: name",
72.17 - "UnixNumericGroupPrincipal [Grupo adicional] {0}"},
72.18 + "UnixNumericGroupPrincipal [Grupo adicional] {0}"},
72.19 {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
72.20 {"UnixPrincipal: name", "UnixPrincipal: {0}"},
72.21
72.22 // com.sun.security.auth.login.ConfigFile
72.23 {"Unable to properly expand config", "No se puede ampliar correctamente {0}"},
72.24 {"extra_config (No such file or directory)",
72.25 - "{0} (No existe tal archivo o directorio)"},
72.26 - {"Unable to locate a login configuration",
72.27 - "No se puede localizar una configuraci\u00f3n de inicio de sesi\u00f3n"},
72.28 + "{0} (No existe tal archivo o directorio)"},
72.29 + {"Configuration Error:\n\tNo such file or directory",
72.30 + "Error de configuraci\u00f3n:\n\tNo se encuentra archivo o directorio"},
72.31 {"Configuration Error:\n\tInvalid control flag, flag",
72.32 - "Error de configuraci\u00f3n:\n\tIndicador de control no v\u00e1lido, {0}"},
72.33 + "Error de configuraci\u00f3n:\n\tIndicador de control no v\u00e1lido, {0}"},
72.34 {"Configuration Error:\n\tCan not specify multiple entries for appName",
72.35 - "Error de configuraci\u00f3n:\n\tNo se pueden especificar m\u00faltiples entradas para {0}"},
72.36 + "Error de configuraci\u00f3n:\n\tNo se pueden especificar m\u00faltiples entradas para {0}"},
72.37 {"Configuration Error:\n\texpected [expect], read [end of file]",
72.38 - "Error de configuraci\u00f3n:\n\tse esperaba [{0}], se ha le\u00eddo [end of file]"},
72.39 + "Error de configuraci\u00f3n:\n\tse esperaba [{0}], se ha le\u00eddo [end of file]"},
72.40 {"Configuration Error:\n\tLine line: expected [expect], found [value]",
72.41 - "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
72.42 + "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}], se ha encontrado [{2}]"},
72.43 {"Configuration Error:\n\tLine line: expected [expect]",
72.44 - "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}]"},
72.45 + "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: se esperaba [{1}]"},
72.46 {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
72.47 - "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: propiedad de sistema [{1}] ampliada a valor vac\u00edo"},
72.48 + "Error de configuraci\u00f3n:\n\tL\u00ednea {0}: propiedad de sistema [{1}] ampliada a valor vac\u00edo"},
72.49
72.50 // com.sun.security.auth.module.JndiLoginModule
72.51 {"username: ","nombre de usuario: "},
72.52 @@ -88,13 +88,13 @@
72.53 {"Keystore alias: ","Alias de almac\u00e9n de claves: "},
72.54 {"Keystore password: ","Contrase\u00f1a de almac\u00e9n de claves: "},
72.55 {"Private key password (optional): ",
72.56 - "Contrase\u00f1a de clave privada (opcional): "},
72.57 + "Contrase\u00f1a de clave privada (opcional): "},
72.58
72.59 // com.sun.security.auth.module.Krb5LoginModule
72.60 {"Kerberos username [[defUsername]]: ",
72.61 - "Nombre de usuario de Kerberos [{0}]: "},
72.62 + "Nombre de usuario de Kerberos [{0}]: "},
72.63 {"Kerberos password for [username]: ",
72.64 - "Contrase\u00f1a de Kerberos de {0}: "},
72.65 + "Contrase\u00f1a de Kerberos de {0}: "},
72.66
72.67 /*** EVERYTHING BELOW IS DEPRECATED ***/
72.68
72.69 @@ -107,17 +107,17 @@
72.70 {"(", "("},
72.71 {")", ")"},
72.72 {"attempt to add a Permission to a readonly PermissionCollection",
72.73 - "se ha intentado agregar un Permiso a una Colecci\u00f3n de permisos de s\u00f3lo lectura"},
72.74 + "se ha intentado agregar un Permiso a una Colecci\u00f3n de permisos de s\u00f3lo lectura"},
72.75
72.76 // com.sun.security.auth.PolicyParser
72.77 {"expected keystore type", "se esperaba un tipo de almac\u00e9n de claves"},
72.78 {"can not specify Principal with a ",
72.79 - "no se puede especificar Principal con una "},
72.80 + "no se puede especificar Principal con una "},
72.81 {"wildcard class without a wildcard name",
72.82 - "clase comod\u00edn sin nombre de comod\u00edn"},
72.83 + "clase comod\u00edn sin nombre de comod\u00edn"},
72.84 {"expected codeBase or SignedBy", "se esperaba base de c\u00f3digos o SignedBy"},
72.85 {"only Principal-based grant entries permitted",
72.86 - "s\u00f3lo se permite conceder entradas basadas en Principal"},
72.87 + "s\u00f3lo se permite conceder entradas basadas en Principal"},
72.88 {"expected permission entry", "se esperaba un permiso de entrada"},
72.89 {"number ", "n\u00famero "},
72.90 {"expected ", "se esperaba "},
72.91 @@ -130,11 +130,11 @@
72.92
72.93 // SolarisPrincipals
72.94 {"SolarisNumericGroupPrincipal [Primary Group]: ",
72.95 - "SolarisNumericGroupPrincipal [Grupo principal]: "},
72.96 + "SolarisNumericGroupPrincipal [Grupo principal]: "},
72.97 {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
72.98 - "SolarisNumericGroupPrincipal [Grupo adicional]: "},
72.99 + "SolarisNumericGroupPrincipal [Grupo adicional]: "},
72.100 {"SolarisNumericUserPrincipal: ",
72.101 - "SolarisNumericUserPrincipal: "},
72.102 + "SolarisNumericUserPrincipal: "},
72.103 {"SolarisPrincipal: ", "SolarisPrincipal: "},
72.104 {"provided null name", "se ha proporcionado un nombre nulo"}
72.105
73.1 --- a/src/share/classes/sun/security/util/AuthResources_fr.java Thu Apr 22 16:54:34 2010 -0700
73.2 +++ b/src/share/classes/sun/security/util/AuthResources_fr.java Thu Apr 29 13:53:09 2010 -0700
73.3 @@ -1,5 +1,5 @@
73.4 /*
73.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
73.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
73.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
73.8 *
73.9 * This code is free software; you can redistribute it and/or modify it
73.10 @@ -53,30 +53,30 @@
73.11
73.12 // UnixPrincipals
73.13 {"UnixNumericGroupPrincipal [Primary Group]: name",
73.14 - "UnixNumericGroupPrincipal [groupe principal] : {0}"},
73.15 + "UnixNumericGroupPrincipal [groupe principal] : {0}"},
73.16 {"UnixNumericGroupPrincipal [Supplementary Group]: name",
73.17 - "UnixNumericGroupPrincipal [groupe suppl\u00e9mentaire] : {0}"},
73.18 + "UnixNumericGroupPrincipal [groupe suppl\u00e9mentaire] : {0}"},
73.19 {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal : {0}"},
73.20 {"UnixPrincipal: name", "UnixPrincipal : {0}"},
73.21
73.22 // com.sun.security.auth.login.ConfigFile
73.23 {"Unable to properly expand config", "Impossible de d\u00e9velopper {0} correctement"},
73.24 {"extra_config (No such file or directory)",
73.25 - "{0} (fichier ou r\u00e9pertoire introuvable)"},
73.26 - {"Unable to locate a login configuration",
73.27 - "Impossible de trouver une configuration de connexion"},
73.28 + "{0} (fichier ou r\u00e9pertoire introuvable)"},
73.29 + {"Configuration Error:\n\tNo such file or directory",
73.30 + "Erreur de configuration\u00a0:\n\tAucun fichier ou r\u00e9pertoire de ce type"},
73.31 {"Configuration Error:\n\tInvalid control flag, flag",
73.32 - "Erreur de configuration :\n\tIndicateur de contr\u00f4le non valide, {0}"},
73.33 + "Erreur de configuration :\n\tIndicateur de contr\u00f4le non valide, {0}"},
73.34 {"Configuration Error:\n\tCan not specify multiple entries for appName",
73.35 - "Erreur de configuration :\n\tImpossible de sp\u00e9cifier des entr\u00e9es multiples pour {0}"},
73.36 + "Erreur de configuration :\n\tImpossible de sp\u00e9cifier des entr\u00e9es multiples pour {0}"},
73.37 {"Configuration Error:\n\texpected [expect], read [end of file]",
73.38 - "Erreur de configuration :\n\tattendu [{0}], lecture [fin de fichier]"},
73.39 + "Erreur de configuration :\n\tattendu [{0}], lecture [fin de fichier]"},
73.40 {"Configuration Error:\n\tLine line: expected [expect], found [value]",
73.41 - "Erreur de configuration :\n\tLigne {0} : attendu [{1}], trouv\u00e9 [{2}]"},
73.42 + "Erreur de configuration :\n\tLigne {0} : attendu [{1}], trouv\u00e9 [{2}]"},
73.43 {"Configuration Error:\n\tLine line: expected [expect]",
73.44 - "Erreur de configuration :\n\tLigne {0} : attendu [{1}]"},
73.45 + "Erreur de configuration :\n\tLigne {0} : attendu [{1}]"},
73.46 {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
73.47 - "Erreur de configuration :\n\tLigne {0} : propri\u00e9t\u00e9 syst\u00e8me [{1}] d\u00e9velopp\u00e9e en valeur vide"},
73.48 + "Erreur de configuration :\n\tLigne {0} : propri\u00e9t\u00e9 syst\u00e8me [{1}] d\u00e9velopp\u00e9e en valeur vide"},
73.49
73.50 // com.sun.security.auth.module.JndiLoginModule
73.51 {"username: ","Nom d'utilisateur : "},
73.52 @@ -88,13 +88,13 @@
73.53 {"Keystore alias: ","Alias pour Keystore : "},
73.54 {"Keystore password: ","Mot de passe pour Keystore : "},
73.55 {"Private key password (optional): ",
73.56 - "Mot de passe de cl\u00e9 priv\u00e9e (facultatif) : "},
73.57 + "Mot de passe de cl\u00e9 priv\u00e9e (facultatif) : "},
73.58
73.59 // com.sun.security.auth.module.Krb5LoginModule
73.60 {"Kerberos username [[defUsername]]: ",
73.61 - "Nom d''utilisateur Kerberos [{0}] : "},
73.62 + "Nom d''utilisateur Kerberos [{0}] : "},
73.63 {"Kerberos password for [username]: ",
73.64 - "Mot de pass\u00e9 Kerberos pour {0} : "},
73.65 + "Mot de pass\u00e9 Kerberos pour {0} : "},
73.66
73.67 /*** EVERYTHING BELOW IS DEPRECATED ***/
73.68
73.69 @@ -107,17 +107,17 @@
73.70 {"(", "("},
73.71 {")", ")"},
73.72 {"attempt to add a Permission to a readonly PermissionCollection",
73.73 - "tentative d'ajout de permission \u00e0 un ensemble de permissions en lecture seule"},
73.74 + "tentative d'ajout de permission \u00e0 un ensemble de permissions en lecture seule"},
73.75
73.76 // com.sun.security.auth.PolicyParser
73.77 {"expected keystore type", "type de Keystore attendu"},
73.78 {"can not specify Principal with a ",
73.79 - "impossible de sp\u00e9cifier Principal avec une"},
73.80 + "impossible de sp\u00e9cifier Principal avec une "},
73.81 {"wildcard class without a wildcard name",
73.82 - "classe g\u00e9n\u00e9rique sans nom g\u00e9n\u00e9rique"},
73.83 + "classe g\u00e9n\u00e9rique sans nom g\u00e9n\u00e9rique"},
73.84 {"expected codeBase or SignedBy", "codeBase ou SignedBy attendu"},
73.85 {"only Principal-based grant entries permitted",
73.86 - "seules les entr\u00e9es bas\u00e9es sur Principal sont autoris\u00e9es"},
73.87 + "seules les entr\u00e9es bas\u00e9es sur Principal sont autoris\u00e9es"},
73.88 {"expected permission entry", "entr\u00e9e de permission attendue"},
73.89 {"number ", "nombre "},
73.90 {"expected ", "attendu "},
73.91 @@ -130,11 +130,11 @@
73.92
73.93 // SolarisPrincipals
73.94 {"SolarisNumericGroupPrincipal [Primary Group]: ",
73.95 - "SolarisNumericGroupPrincipal [groupe principal] : "},
73.96 + "SolarisNumericGroupPrincipal [groupe principal] : "},
73.97 {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
73.98 - "SolarisNumericGroupPrincipal [groupe suppl\u00e9mentaire] : "},
73.99 + "SolarisNumericGroupPrincipal [groupe suppl\u00e9mentaire] : "},
73.100 {"SolarisNumericUserPrincipal: ",
73.101 - "SolarisNumericUserPrincipal : "},
73.102 + "SolarisNumericUserPrincipal : "},
73.103 {"SolarisPrincipal: ", "SolarisPrincipal : "},
73.104 {"provided null name", "nom Null sp\u00e9cifi\u00e9"}
73.105
74.1 --- a/src/share/classes/sun/security/util/AuthResources_it.java Thu Apr 22 16:54:34 2010 -0700
74.2 +++ b/src/share/classes/sun/security/util/AuthResources_it.java Thu Apr 29 13:53:09 2010 -0700
74.3 @@ -1,5 +1,5 @@
74.4 /*
74.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
74.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
74.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74.8 *
74.9 * This code is free software; you can redistribute it and/or modify it
74.10 @@ -38,7 +38,6 @@
74.11 public class AuthResources_it extends java.util.ListResourceBundle {
74.12
74.13 private static final Object[][] contents = {
74.14 -
74.15 // NT principals
74.16 {"invalid null input: value", "input nullo non valido: {0}"},
74.17 {"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
74.18 @@ -53,30 +52,30 @@
74.19
74.20 // UnixPrincipals
74.21 {"UnixNumericGroupPrincipal [Primary Group]: name",
74.22 - "UnixNumericGroupPrincipal [gruppo primario]: {0}"},
74.23 + "UnixNumericGroupPrincipal [gruppo primario]: {0}"},
74.24 {"UnixNumericGroupPrincipal [Supplementary Group]: name",
74.25 - "UnixNumericGroupPrincipal [gruppo supplementare]: {0}"},
74.26 + "UnixNumericGroupPrincipal [gruppo supplementare]: {0}"},
74.27 {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
74.28 {"UnixPrincipal: name", "UnixPrincipal: {0}"},
74.29
74.30 // com.sun.security.auth.login.ConfigFile
74.31 {"Unable to properly expand config", "Impossibile espandere correttamente {0}"},
74.32 {"extra_config (No such file or directory)",
74.33 - "{0} (file o directory inesistente)"},
74.34 - {"Unable to locate a login configuration",
74.35 - "Impossibile trovare una configurazione di login"},
74.36 + "{0} (file o directory inesistente)"},
74.37 + {"Configuration Error:\n\tNo such file or directory",
74.38 + "Errore di configurazione:\n\tfile o directory inesistente"},
74.39 {"Configuration Error:\n\tInvalid control flag, flag",
74.40 - "Errore di configurazione:\n\tflag di controllo non valido, {0}"},
74.41 + "Errore di configurazione:\n\tflag di controllo non valido, {0}"},
74.42 {"Configuration Error:\n\tCan not specify multiple entries for appName",
74.43 - "Errore di configurazione:\n\timpossibile specificare pi\u00f9 valori per {0}"},
74.44 + "Errore di configurazione:\n\timpossibile specificare pi\u00f9 valori per {0}"},
74.45 {"Configuration Error:\n\texpected [expect], read [end of file]",
74.46 - "Errore di configurazione:\n\tprevisto [{0}], letto [end of file]"},
74.47 + "Errore di configurazione:\n\tprevisto [{0}], letto [end of file]"},
74.48 {"Configuration Error:\n\tLine line: expected [expect], found [value]",
74.49 - "Errore di configurazione:\n\triga {0}: previsto [{1}], trovato [{2}]"},
74.50 + "Errore di configurazione:\n\triga {0}: previsto [{1}], trovato [{2}]"},
74.51 {"Configuration Error:\n\tLine line: expected [expect]",
74.52 - "Errore di configurazione:\n\triga {0}: previsto [{1}]"},
74.53 + "Errore di configurazione:\n\triga {0}: previsto [{1}]"},
74.54 {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
74.55 - "Errore di configurazione:\n\triga {0}: propriet\u00e0 di sistema [{1}] espansa a valore vuoto"},
74.56 + "Errore di configurazione:\n\triga {0}: propriet\u00e0 di sistema [{1}] espansa a valore vuoto"},
74.57
74.58 // com.sun.security.auth.module.JndiLoginModule
74.59 {"username: ","Nome utente: "},
74.60 @@ -88,13 +87,13 @@
74.61 {"Keystore alias: ","Alias keystore: "},
74.62 {"Keystore password: ","Password keystore: "},
74.63 {"Private key password (optional): ",
74.64 - "Password chiave privata (opzionale): "},
74.65 + "Password chiave privata (opzionale): "},
74.66
74.67 // com.sun.security.auth.module.Krb5LoginModule
74.68 {"Kerberos username [[defUsername]]: ",
74.69 "Nome utente Kerberos [{0}]: "},
74.70 {"Kerberos password for [username]: ",
74.71 - "Password Kerberos per {0}: "},
74.72 + "Password Kerberos per {0}: "},
74.73
74.74 /*** EVERYTHING BELOW IS DEPRECATED ***/
74.75
74.76 @@ -102,22 +101,22 @@
74.77 {": error parsing ", ": errore nell'analisi "},
74.78 {": ", ": "},
74.79 {": error adding Permission ", ": errore nell'aggiunta del permesso "},
74.80 - {" ", " "},
74.81 + {" ", " "},
74.82 {": error adding Entry ", ": errore nell'aggiunta dell'entry "},
74.83 {"(", "("},
74.84 {")", ")"},
74.85 {"attempt to add a Permission to a readonly PermissionCollection",
74.86 - "tentativo di aggiungere un permesso a una PermissionCollection di sola lettura"},
74.87 + "tentativo di aggiungere un permesso a una PermissionCollection di sola lettura"},
74.88
74.89 // com.sun.security.auth.PolicyParser
74.90 {"expected keystore type", "tipo di keystore previsto"},
74.91 {"can not specify Principal with a ",
74.92 - "impossibile specificare Principal con una "},
74.93 + "impossibile specificare Principal con una "},
74.94 {"wildcard class without a wildcard name",
74.95 - "classe wildcard senza un nome wildcard"},
74.96 + "classe wildcard senza un nome wildcard"},
74.97 {"expected codeBase or SignedBy", "previsto codeBase o SignedBy"},
74.98 {"only Principal-based grant entries permitted",
74.99 - "sono permessi solo valori garantiti basati su Principal"},
74.100 + "sono permessi solo valori garantiti basati su Principal"},
74.101 {"expected permission entry", "prevista entry di permesso"},
74.102 {"number ", "numero "},
74.103 {"expected ", "previsto "},
74.104 @@ -130,11 +129,11 @@
74.105
74.106 // SolarisPrincipals
74.107 {"SolarisNumericGroupPrincipal [Primary Group]: ",
74.108 - "SolarisNumericGroupPrincipal [gruppo primario]: "},
74.109 + "SolarisNumericGroupPrincipal [gruppo primario]: "},
74.110 {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
74.111 - "SolarisNumericGroupPrincipal [gruppo supplementare]: "},
74.112 + "SolarisNumericGroupPrincipal [gruppo supplementare]: "},
74.113 {"SolarisNumericUserPrincipal: ",
74.114 - "SolarisNumericUserPrincipal: "},
74.115 + "SolarisNumericUserPrincipal: "},
74.116 {"SolarisPrincipal: ", "SolarisPrincipal: "},
74.117 {"provided null name", "il nome fornito \u00e8 nullo"}
74.118
75.1 --- a/src/share/classes/sun/security/util/AuthResources_ja.java Thu Apr 22 16:54:34 2010 -0700
75.2 +++ b/src/share/classes/sun/security/util/AuthResources_ja.java Thu Apr 29 13:53:09 2010 -0700
75.3 @@ -1,5 +1,5 @@
75.4 /*
75.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
75.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
75.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
75.8 *
75.9 * This code is free software; you can redistribute it and/or modify it
75.10 @@ -63,8 +63,8 @@
75.11 {"Unable to properly expand config", "{0} \u3092\u6b63\u3057\u304f\u5c55\u958b\u3067\u304d\u307e\u305b\u3093\u3002"},
75.12 {"extra_config (No such file or directory)",
75.13 "{0} (\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093)"},
75.14 - {"Unable to locate a login configuration",
75.15 - "\u30ed\u30b0\u30a4\u30f3\u69cb\u6210\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002"},
75.16 + {"Configuration Error:\n\tNo such file or directory",
75.17 + "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002"},
75.18 {"Configuration Error:\n\tInvalid control flag, flag",
75.19 "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u7121\u52b9\u306a\u5236\u5fa1\u30d5\u30e9\u30b0: {0}"},
75.20 {"Configuration Error:\n\tCan not specify multiple entries for appName",
75.21 @@ -76,7 +76,7 @@
75.22 {"Configuration Error:\n\tLine line: expected [expect]",
75.23 "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: [{1}] \u304c\u8981\u6c42\u3055\u308c\u307e\u3057\u305f\u3002"},
75.24 {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
75.25 - "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3 [{1}] \u304c\u7a7a\u306e\u5024\u306b\u5c55\u958b\u3055\u308c\u307e\u3057\u305f\u3002"},
75.26 + "\u69cb\u6210\u30a8\u30e9\u30fc:\n\t\u884c {0}: \u30b7\u30b9\u30c6\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc [{1}] \u304c\u7a7a\u306e\u5024\u306b\u5c55\u958b\u3055\u308c\u307e\u3057\u305f\u3002"},
75.27
75.28 // com.sun.security.auth.module.JndiLoginModule
75.29 {"username: ","\u30e6\u30fc\u30b6\u540d: "},
76.1 --- a/src/share/classes/sun/security/util/AuthResources_ko.java Thu Apr 22 16:54:34 2010 -0700
76.2 +++ b/src/share/classes/sun/security/util/AuthResources_ko.java Thu Apr 29 13:53:09 2010 -0700
76.3 @@ -1,5 +1,5 @@
76.4 /*
76.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
76.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
76.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
76.8 *
76.9 * This code is free software; you can redistribute it and/or modify it
76.10 @@ -63,8 +63,8 @@
76.11 {"Unable to properly expand config", "\uc801\uc808\ud788 \ud655\uc7a5\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. {0}"},
76.12 {"extra_config (No such file or directory)",
76.13 "{0} (\ud574\ub2f9 \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.)"},
76.14 - {"Unable to locate a login configuration",
76.15 - "\ub85c\uadf8\uc778 \uad6c\uc131\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."},
76.16 + {"Configuration Error:\n\tNo such file or directory",
76.17 + "\uad6c\uc131 \uc624\ub958:\n\t\ud574\ub2f9 \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."},
76.18 {"Configuration Error:\n\tInvalid control flag, flag",
76.19 "\uad6c\uc131 \uc624\ub958:\n\t\uc798\ubabb\ub41c \ucee8\ud2b8\ub864 \ud50c\ub798\uadf8, {0}"},
76.20 {"Configuration Error:\n\tCan not specify multiple entries for appName",
77.1 --- a/src/share/classes/sun/security/util/AuthResources_sv.java Thu Apr 22 16:54:34 2010 -0700
77.2 +++ b/src/share/classes/sun/security/util/AuthResources_sv.java Thu Apr 29 13:53:09 2010 -0700
77.3 @@ -1,5 +1,5 @@
77.4 /*
77.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
77.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
77.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
77.8 *
77.9 * This code is free software; you can redistribute it and/or modify it
77.10 @@ -53,47 +53,48 @@
77.11
77.12 // UnixPrincipals
77.13 {"UnixNumericGroupPrincipal [Primary Group]: name",
77.14 - "UnixNumericGroupPrincipal [prim\u00e4r grupp]: {0}"},
77.15 + "UnixNumericGroupPrincipal [prim\u00e4r grupp]: {0}"},
77.16 {"UnixNumericGroupPrincipal [Supplementary Group]: name",
77.17 - "UnixNumericGroupPrincipal [till\u00e4ggsgrupp]: {0}"},
77.18 + "UnixNumericGroupPrincipal [till\u00e4ggsgrupp]: {0}"},
77.19 {"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
77.20 {"UnixPrincipal: name", "UnixPrincipal: {0}"},
77.21
77.22 // com.sun.security.auth.login.ConfigFile
77.23 {"Unable to properly expand config", "Det g\u00e5r inte att utvidga korrekt {0}"},
77.24 {"extra_config (No such file or directory)",
77.25 - "{0} (Det finns ingen s\u00e5dan fil eller katalog.)"},
77.26 - {"Unable to locate a login configuration",
77.27 - "Det g\u00e5r inte att hitta n\u00e5gon inloggningskonfiguration"},
77.28 + "{0} (Det finns ingen s\u00e5dan fil eller katalog.)"},
77.29 + {"Configuration Error:\n\tNo such file or directory",
77.30 + "Konfigurationsfel:\n\tDet finns ingen s\u00e5dan fil eller katalog."},
77.31 {"Configuration Error:\n\tInvalid control flag, flag",
77.32 - "Konfigurationsfel:\n\tOgiltig kontrollflagga, {0}"},
77.33 + "Konfigurationsfel:\n\tOgiltig kontrollflagga, {0}"},
77.34 {"Configuration Error:\n\tCan not specify multiple entries for appName",
77.35 - "Konfigurationsfel:\n\tDet g\u00e5r inte att ange flera poster f\u00f6r {0}"},
77.36 + "Konfigurationsfel:\n\tDet g\u00e5r inte att ange flera poster f\u00f6r {0}"},
77.37 {"Configuration Error:\n\texpected [expect], read [end of file]",
77.38 - "Konfigurationsfel:\n\tf\u00f6rv\u00e4ntade [{0}], l\u00e4ste [end of file]"},
77.39 + "Konfigurationsfel:\n\tf\u00f6rv\u00e4ntade [{0}], l\u00e4ste [end of file]"},
77.40 {"Configuration Error:\n\tLine line: expected [expect], found [value]",
77.41 - "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}], hittade [{2}]"},
77.42 + "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}], hittade [{2}]"},
77.43 {"Configuration Error:\n\tLine line: expected [expect]",
77.44 - "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}]"},
77.45 + "Konfigurationsfel:\n\tLine {0}: f\u00f6rv\u00e4ntade [{1}]"},
77.46 {"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
77.47 - "Konfigurationsfel:\n\tLine {0}: systemegenskapen [{1}] utvidgad till tomt v\u00e4rde"},
77.48 + "Konfigurationsfel:\n\tLine {0}: systemegenskapen [{1}] utvidgad till tomt v\u00e4rde"},
77.49
77.50 // com.sun.security.auth.module.JndiLoginModule
77.51 {"username: ","anv\u00e4ndarnamn: "},
77.52 {"password: ","l\u00f6senord: "},
77.53
77.54 // com.sun.security.auth.module.KeyStoreLoginModule
77.55 - {"Please enter keystore information","Ange keystore-information"},
77.56 + {"Please enter keystore information",
77.57 + "Ange keystore-information"},
77.58 {"Keystore alias: ","Keystore-alias: "},
77.59 {"Keystore password: ","Keystore-l\u00f6senord: "},
77.60 {"Private key password (optional): ",
77.61 - "L\u00f6senord f\u00f6r personlig nyckel (valfritt): "},
77.62 + "L\u00f6senord f\u00f6r personlig nyckel (valfritt): "},
77.63
77.64 // com.sun.security.auth.module.Krb5LoginModule
77.65 {"Kerberos username [[defUsername]]: ",
77.66 - "Kerberos-anv\u00e4ndarnamn [{0}]: "},
77.67 + "Kerberos-anv\u00e4ndarnamn [{0}]: "},
77.68 {"Kerberos password for [username]: ",
77.69 - "Kerberos-l\u00f6senord f\u00f6r {0}: "},
77.70 + "Kerberos-l\u00f6senord f\u00f6r {0}: "},
77.71
77.72 /*** EVERYTHING BELOW IS DEPRECATED ***/
77.73
77.74 @@ -106,17 +107,17 @@
77.75 {"(", "("},
77.76 {")", ")"},
77.77 {"attempt to add a Permission to a readonly PermissionCollection",
77.78 - "f\u00f6rs\u00f6k att l\u00e4gga till beh\u00f6righet till skrivskyddad PermissionCollection"},
77.79 + "f\u00f6rs\u00f6k att l\u00e4gga till beh\u00f6righet till skrivskyddad PermissionCollection"},
77.80
77.81 // com.sun.security.auth.PolicyParser
77.82 {"expected keystore type", "f\u00f6rv\u00e4ntad keystore-typ"},
77.83 {"can not specify Principal with a ",
77.84 - "det g\u00e5r inte att specificera n\u00e5gon principal med "},
77.85 + "det g\u00e5r inte att specificera n\u00e5gon principal med "},
77.86 {"wildcard class without a wildcard name",
77.87 - "jokertecken f\u00f6r klass men inte f\u00f6r namn"},
77.88 + "jokertecken f\u00f6r klass men inte f\u00f6r namn"},
77.89 {"expected codeBase or SignedBy", "f\u00f6rv\u00e4ntade codeBase eller SignedBy"},
77.90 {"only Principal-based grant entries permitted",
77.91 - "enbart Principal-baserade poster till\u00e5tna"},
77.92 + "enbart Principal-baserade poster till\u00e5tna"},
77.93 {"expected permission entry", "f\u00f6rv\u00e4ntade beh\u00f6righetspost"},
77.94 {"number ", "antal "},
77.95 {"expected ", "f\u00f6rv\u00e4ntade "},
77.96 @@ -129,11 +130,11 @@
77.97
77.98 // SolarisPrincipals
77.99 {"SolarisNumericGroupPrincipal [Primary Group]: ",
77.100 - "SolarisNumericGroupPrincipal [prim\u00e4r grupp]: "},
77.101 + "SolarisNumericGroupPrincipal [prim\u00e4r grupp]: "},
77.102 {"SolarisNumericGroupPrincipal [Supplementary Group]: ",
77.103 - "SolarisNumericGroupPrincipal [till\u00e4ggsgrupp]: "},
77.104 + "SolarisNumericGroupPrincipal [till\u00e4ggsgrupp]: "},
77.105 {"SolarisNumericUserPrincipal: ",
77.106 - "SolarisNumericUserPrincipal: "},
77.107 + "SolarisNumericUserPrincipal: "},
77.108 {"SolarisPrincipal: ", "SolarisPrincipal: "},
77.109 {"provided null name", "gav null-namn"}
77.110
78.1 --- a/src/share/classes/sun/security/util/AuthResources_zh_CN.java Thu Apr 22 16:54:34 2010 -0700
78.2 +++ b/src/share/classes/sun/security/util/AuthResources_zh_CN.java Thu Apr 29 13:53:09 2010 -0700
78.3 @@ -1,5 +1,5 @@
78.4 /*
78.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
78.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
78.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
78.8 *
78.9 * This code is free software; you can redistribute it and/or modify it
78.10 @@ -63,8 +63,8 @@
78.11 {"Unable to properly expand config", "\u65e0\u6cd5\u5b8c\u5168\u6269\u5145 {0}"},
78.12 {"extra_config (No such file or directory)",
78.13 "{0} \uff08\u6ca1\u6709\u6b64\u6587\u4ef6\u6216\u76ee\u5f55\uff09"},
78.14 - {"Unable to locate a login configuration",
78.15 - "\u65e0\u6cd5\u5b9a\u4f4d\u767b\u5f55\u914d\u7f6e"},
78.16 + {"Configuration Error:\n\tNo such file or directory",
78.17 + "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u6ca1\u6709\u6b64\u6587\u4ef6\u6216\u76ee\u5f55"},
78.18 {"Configuration Error:\n\tInvalid control flag, flag",
78.19 "\u914d\u7f6e\u9519\u8bef\uff1a\n\t\u65e0\u6548\u7684\u63a7\u5236\u6807\u8bb0\uff0c {0}"},
78.20 {"Configuration Error:\n\tCan not specify multiple entries for appName",
79.1 --- a/src/share/classes/sun/security/util/AuthResources_zh_TW.java Thu Apr 22 16:54:34 2010 -0700
79.2 +++ b/src/share/classes/sun/security/util/AuthResources_zh_TW.java Thu Apr 29 13:53:09 2010 -0700
79.3 @@ -1,5 +1,5 @@
79.4 /*
79.5 - * Copyright 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
79.6 + * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
79.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
79.8 *
79.9 * This code is free software; you can redistribute it and/or modify it
79.10 @@ -63,8 +63,8 @@
79.11 {"Unable to properly expand config", "\u7121\u6cd5\u5b8c\u5168\u64f4\u5145 {0}"},
79.12 {"extra_config (No such file or directory)",
79.13 "{0} \uff08\u6c92\u6709\u6b64\u6a94\u6848\u6216\u76ee\u9304\uff09"},
79.14 - {"Unable to locate a login configuration",
79.15 - "\u7121\u6cd5\u5b9a\u4f4d\u767b\u5165\u914d\u7f6e"},
79.16 + {"Configuration Error:\n\tNo such file or directory",
79.17 + "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u6c92\u6709\u9019\u985e\u7684\u6a94\u6848\u6216\u76ee\u9304"},
79.18 {"Configuration Error:\n\tInvalid control flag, flag",
79.19 "\u914d\u7f6e\u932f\u8aa4\uff1a\n\t\u7121\u6548\u7684\u63a7\u5236\u65d7\u865f\uff0c {0}"},
79.20 {"Configuration Error:\n\tCan not specify multiple entries for appName",
80.1 --- a/src/share/classes/sun/security/x509/X509Key.java Thu Apr 22 16:54:34 2010 -0700
80.2 +++ b/src/share/classes/sun/security/x509/X509Key.java Thu Apr 29 13:53:09 2010 -0700
80.3 @@ -171,7 +171,7 @@
80.4 in.data.getUnalignedBitString());
80.5
80.6 } catch (InvalidKeyException e) {
80.7 - throw new IOException("subject key, " + e.getMessage());
80.8 + throw new IOException("subject key, " + e.getMessage(), e);
80.9 }
80.10
80.11 if (in.data.available() != 0)
80.12 @@ -224,7 +224,7 @@
80.13 } catch (NoSuchAlgorithmException e) {
80.14 // Return generic X509Key with opaque key data (see below)
80.15 } catch (InvalidKeySpecException e) {
80.16 - throw new InvalidKeyException(e.getMessage());
80.17 + throw new InvalidKeyException(e.getMessage(), e);
80.18 }
80.19
80.20 /*
81.1 --- a/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java Thu Apr 22 16:54:34 2010 -0700
81.2 +++ b/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_ja.java Thu Apr 29 13:53:09 2010 -0700
81.3 @@ -114,7 +114,6 @@
81.4 {"ClassTab.infoLabelFormat", "<html>\u30ed\u30fc\u30c9: {0} \u30a2\u30f3\u30ed\u30fc\u30c9: {1} \u7dcf\u6570: {2}</html>"},
81.5 {"ClassTab.loadedClassesPlotter.accessibleName", "\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9\u306e\u56f3\u3002"},
81.6 {"Classes","\u30af\u30e9\u30b9"},
81.7 - {"Clear","\u6d88\u53bb"},
81.8 {"Close","\u9589\u3058\u308b"},
81.9 {"Column.Name", "\u540d\u524d"},
81.10 {"Column.PID", "PID"},
81.11 @@ -122,7 +121,6 @@
81.12 {"Committed virtual memory","\u78ba\u5b9a\u4eee\u60f3\u30e1\u30e2\u30ea"},
81.13 {"Committed", "\u78ba\u5b9a"},
81.14 {"Compiler","\u30b3\u30f3\u30d1\u30a4\u30e9"},
81.15 - {"Composite Navigation", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
81.16 {"CompositeData","CompositeData"},
81.17 {"Config","\u69cb\u6210"},
81.18 {"Connect", "\u63a5\u7d9a(C)"},
81.19 @@ -158,12 +156,9 @@
81.20 {"Detect Deadlock.toolTip", "\u30c7\u30c3\u30c9\u30ed\u30c3\u30af\u3057\u305f\u30b9\u30ec\u30c3\u30c9\u3092\u691c\u51fa\u3059\u308b"},
81.21 {"Dimension is not supported:","\u5927\u304d\u3055\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093:"},
81.22 {"Discard chart", "\u56f3\u3092\u7834\u68c4\u3059\u308b"},
81.23 - {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u65e5 |1.0<{0,number,integer} \u65e5 }" +
81.24 - "{1,choice,0<{1,number,integer} \u6642\u9593 |1#{1,number,integer} \u6642\u9593 |1<{1,number,integer} \u6642\u9593 }" +
81.25 - "{2,choice,0<{2,number,integer} \u5206 |1#{2,number,integer} \u5206 |1.0<{2,number,integer} \u5206}"},
81.26 + {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} \u65e5 |1.0<{0,number,integer} \u65e5 }{1,choice,0<{1,number,integer} \u6642\u9593 |1#{1,number,integer} \u6642\u9593 |1<{1,number,integer} \u6642\u9593 }{2,choice,0<{2,number,integer} \u5206 |1#{2,number,integer} \u5206 |1.0<{2,number,integer} \u5206}"},
81.27
81.28 - {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u6642\u9593 |1<{0,number,integer} \u6642\u9593 }" +
81.29 - "{1,choice,0<{1,number,integer} \u5206 |1#{1,number,integer} \u5206 |1.0<{1,number,integer} \u5206}"},
81.30 + {"DurationHoursMinutes","{0,choice,1#{0,number,integer} \u6642\u9593 |1<{0,number,integer} \u6642\u9593 }{1,choice,0<{1,number,integer} \u5206 |1#{1,number,integer} \u5206 |1.0<{1,number,integer} \u5206}"},
81.31
81.32 {"DurationMinutes","{0,choice,1#{0,number,integer} \u5206 |1.0<{0,number,integer} \u5206}"},
81.33 {"DurationSeconds","{0} \u79d2"},
81.34 @@ -201,8 +196,6 @@
81.35 {"Help.AboutDialog.title", "JConsole: \u88fd\u54c1\u60c5\u5831"},
81.36 {"Help.AboutDialog.userGuideLink", "JConsole \u30e6\u30fc\u30b6\u30fc\u30ac\u30a4\u30c9:<br>{0}"},
81.37 {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
81.38 - // Note: The java.sun.com URL should be used for RC, or as soon as the page is available.
81.39 - //{"Help.AboutDialog.UsingJMX.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
81.40 {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/MonitoringGuide/toc.html"},
81.41 {"HelpMenu.About.title", "JConsole \u306b\u3064\u3044\u3066(A)"},
81.42 {"HelpMenu.About.title.mnemonic", 'A'},
81.43 @@ -241,9 +234,22 @@
81.44 {"MBeanNotificationInfo","MBeanNotificationInfo"},
81.45 {"MBeanOperationInfo","MBeanOperationInfo"},
81.46 {"MBeans","MBean"},
81.47 + {"MBeansTab.clearNotificationsButton", "\u6d88\u53bb(C)"},
81.48 + {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
81.49 + {"MBeansTab.clearNotificationsButton.toolTip", "\u901a\u77e5\u3092\u6d88\u53bb\u3059\u308b"},
81.50 + {"MBeansTab.compositeNavigationMultiple", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 {0}/{1}"},
81.51 + {"MBeansTab.compositeNavigationSingle", "\u8907\u5408\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
81.52 {"MBeansTab.refreshAttributesButton", "\u66f4\u65b0(R)"},
81.53 {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
81.54 {"MBeansTab.refreshAttributesButton.toolTip", "\u5c5e\u6027\u3092\u66f4\u65b0\u3059\u308b"},
81.55 + {"MBeansTab.subscribeNotificationsButton", "\u767b\u9332(S)"},
81.56 + {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
81.57 + {"MBeansTab.subscribeNotificationsButton.toolTip", "\u901a\u77e5\u306e\u5f85\u6a5f\u3092\u958b\u59cb"},
81.58 + {"MBeansTab.tabularNavigationMultiple", "\u8868\u5f62\u5f0f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3 {0}/{1}"},
81.59 + {"MBeansTab.tabularNavigationSingle", "\u8868\u5f62\u5f0f\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
81.60 + {"MBeansTab.unsubscribeNotificationsButton", "\u767b\u9332\u89e3\u9664(U)"},
81.61 + {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
81.62 + {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u901a\u77e5\u306e\u5f85\u6a5f\u3092\u505c\u6b62"},
81.63 {"Manage Hotspot MBeans in: ", "Hotspot MBean \u3092\u7ba1\u7406: "},
81.64 {"Max","\u6700\u5927"},
81.65 {"Maximum heap size","\u6700\u5927\u30d2\u30fc\u30d7\u30b5\u30a4\u30ba"},
81.66 @@ -343,7 +349,6 @@
81.67 {"Source","\u30bd\u30fc\u30b9"},
81.68 {"Stack trace",
81.69 cr + "\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9: " + cr},
81.70 - {"Subscribe","\u767b\u9332"},
81.71 {"Success:","\u6210\u529f:"},
81.72 // Note: SummaryTab.headerDateTimeFormat can be one the following:
81.73 // 1. A combination of two styles for date and time, using the
81.74 @@ -357,7 +362,6 @@
81.75 {"SummaryTab.pendingFinalization.value", "{0} \u30aa\u30d6\u30b8\u30a7\u30af\u30c8"},
81.76 {"SummaryTab.tabName", "VM \u306e\u6982\u8981"},
81.77 {"SummaryTab.vmVersion","{0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1}"},
81.78 - {"Tabular Navigation","\u8868\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3"},
81.79 {"TabularData are not supported", "TabularData \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093"},
81.80 {"Threads","\u30b9\u30ec\u30c3\u30c9"},
81.81 {"ThreadTab.infoLabelFormat", "<html>\u30e9\u30a4\u30d6: {0} \u30d4\u30fc\u30af: {1} \u7dcf\u6570: {2}</html>"},
81.82 @@ -381,7 +385,6 @@
81.83 {"Unavailable","\u4f7f\u7528\u4e0d\u53ef\u80fd"},
81.84 {"UNKNOWN","UNKNOWN"},
81.85 {"Unknown Host","\u672a\u77e5\u306e\u30db\u30b9\u30c8: {0}"},
81.86 - {"Unsubscribe","\u767b\u9332\u89e3\u9664"},
81.87 {"Unregister", "\u767b\u9332\u89e3\u9664"},
81.88 {"Uptime","\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0"},
81.89 {"Uptime: ","\u30a2\u30c3\u30d7\u30bf\u30a4\u30e0: "},
81.90 @@ -409,15 +412,11 @@
81.91 {"You cannot drop a class here", "\u30af\u30e9\u30b9\u3092\u3053\u3053\u306b\u30c9\u30ed\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093"},
81.92 {"collapse", "\u6298\u308a\u305f\u305f\u307f"},
81.93 {"connectionFailed1","\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f: \u518d\u8a66\u884c\u3057\u307e\u3059\u304b?"},
81.94 - {"connectionFailed2","{0} \u3078\u306e\u63a5\u7d9a\u304c\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br>" +
81.95 - "\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u307e\u3059\u304b?"},
81.96 + {"connectionFailed2","{0} \u3078\u306e\u63a5\u7d9a\u304c\u6210\u529f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br>\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u307e\u3059\u304b?"},
81.97 {"connectionLost1","\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f: \u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
81.98 - {"connectionLost2","\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9\u304c\u7d42\u4e86\u3057\u305f\u305f\u3081\u3001" +
81.99 - "{0} \u3078\u306e\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f\u3002<br>" +
81.100 - "\u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
81.101 + {"connectionLost2","\u30ea\u30e2\u30fc\u30c8\u30d7\u30ed\u30bb\u30b9\u304c\u7d42\u4e86\u3057\u305f\u305f\u3081\u3001{0} \u3078\u306e\u63a5\u7d9a\u304c\u5931\u308f\u308c\u307e\u3057\u305f\u3002<br>\u518d\u63a5\u7d9a\u3057\u307e\u3059\u304b?"},
81.102 {"connectingTo1","{0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059"},
81.103 - {"connectingTo2","\u73fe\u5728 {0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<br>" +
81.104 - "\u3053\u308c\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002"},
81.105 + {"connectingTo2","\u73fe\u5728 {0} \u306b\u63a5\u7d9a\u3057\u3066\u3044\u307e\u3059\u3002<br>\u3053\u308c\u306b\u306f\u5c11\u3057\u6642\u9593\u304c\u304b\u304b\u308a\u307e\u3059\u3002"},
81.106 {"deadlockAllTab","\u3059\u3079\u3066"},
81.107 {"deadlockTab","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af"},
81.108 {"deadlockTabN","\u30c7\u30c3\u30c9\u30ed\u30c3\u30af {0}"},
82.1 --- a/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java Thu Apr 22 16:54:34 2010 -0700
82.2 +++ b/src/share/classes/sun/tools/jconsole/resources/JConsoleResources_zh_CN.java Thu Apr 29 13:53:09 2010 -0700
82.3 @@ -1,5 +1,5 @@
82.4 /*
82.5 - * Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved.
82.6 + * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
82.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
82.8 *
82.9 * This code is free software; you can redistribute it and/or modify it
82.10 @@ -114,7 +114,6 @@
82.11 {"ClassTab.infoLabelFormat", "<html>\u5df2\u52a0\u8f7d: {0} \u672a\u52a0\u8f7d: {1} \u603b\u8ba1: {2}</html>"},
82.12 {"ClassTab.loadedClassesPlotter.accessibleName", "\u5df2\u88c5\u5165\u7c7b\u7684\u56fe\u8868\u3002"},
82.13 {"Classes","\u7c7b"},
82.14 - {"Clear","\u6e05\u9664"},
82.15 {"Close","\u5173\u95ed"},
82.16 {"Column.Name", "\u540d\u79f0"},
82.17 {"Column.PID", "PID"},
82.18 @@ -122,7 +121,6 @@
82.19 {"Committed virtual memory","\u5206\u914d\u7684\u865a\u62df\u5185\u5b58"},
82.20 {"Committed", "\u5206\u914d"},
82.21 {"Compiler","\u7f16\u8bd1\u5668"},
82.22 - {"Composite Navigation", "\u590d\u5408\u6d4f\u89c8"},
82.23 {"CompositeData","\u590d\u5408\u6570\u636e"},
82.24 {"Config","\u914d\u7f6e"},
82.25 {"Connect", "\u8fde\u63a5"},
82.26 @@ -158,12 +156,9 @@
82.27 {"Detect Deadlock.toolTip", "\u68c0\u6d4b\u5230\u6b7b\u9501\u7684\u7ebf\u7a0b"},
82.28 {"Dimension is not supported:","\u4e0d\u652f\u6301\u7ef4\uff1a"},
82.29 {"Discard chart", "\u653e\u5f03\u56fe\u8868"},
82.30 - {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }" +
82.31 - "{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }" +
82.32 - "{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
82.33 + {"DurationDaysHoursMinutes","{0,choice,1#{0,number,integer} day |1.0<{0,number,integer} days }{1,choice,0<{1,number,integer} hours |1#{1,number,integer} hour |1<{1,number,integer} hours }{2,choice,0<{2,number,integer} minutes|1#{2,number,integer} minute|1.0<{2,number,integer} minutes}"},
82.34
82.35 - {"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }" +
82.36 - "{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
82.37 + {"DurationHoursMinutes","{0,choice,1#{0,number,integer} hour |1<{0,number,integer} hours }{1,choice,0<{1,number,integer} minutes|1#{1,number,integer} minute|1.0<{1,number,integer} minutes}"},
82.38
82.39 {"DurationMinutes","{0,choice,1#{0,number,integer} minute|1.0<{0,number,integer} minutes}"},
82.40 {"DurationSeconds","{0} \u79d2"},
82.41 @@ -201,8 +196,6 @@
82.42 {"Help.AboutDialog.title", "JConsole\uff1a\u5173\u4e8e"},
82.43 {"Help.AboutDialog.userGuideLink", "JConsole \u7528\u6237\u6307\u5357:<br>{0}"},
82.44 {"Help.AboutDialog.userGuideLink.mnemonic", 'U'},
82.45 - // Note: The java.sun.com URL should be used for RC, or as soon as the page is available.
82.46 - //{"Help.AboutDialog.UsingJMX.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/jconsole.html"},
82.47 {"Help.AboutDialog.userGuideLink.url", "http://java.sun.com/javase/6/docs/technotes/guides/management/MonitoringGuide/toc.html"},
82.48 {"HelpMenu.About.title", "\u5173\u4e8e JConsole"},
82.49 {"HelpMenu.About.title.mnemonic", 'A'},
82.50 @@ -241,9 +234,22 @@
82.51 {"MBeanNotificationInfo","MBeanNotificationInfo"},
82.52 {"MBeanOperationInfo","MBeanOperationInfo"},
82.53 {"MBeans","MBean"},
82.54 - {"MBeansTab.refreshAttributesButton", "\u5237\u65b0"},
82.55 + {"MBeansTab.clearNotificationsButton", "\u6e05\u9664(C)"},
82.56 + {"MBeansTab.clearNotificationsButton.mnemonic", 'C'},
82.57 + {"MBeansTab.clearNotificationsButton.toolTip", "\u6e05\u9664\u901a\u77e5"},
82.58 + {"MBeansTab.compositeNavigationMultiple", "\u590d\u5408\u5bfc\u822a {0}/{1}"},
82.59 + {"MBeansTab.compositeNavigationSingle", "\u590d\u5408\u5bfc\u822a"},
82.60 + {"MBeansTab.refreshAttributesButton", "\u5237\u65b0(R)"},
82.61 {"MBeansTab.refreshAttributesButton.mnemonic", 'R'},
82.62 {"MBeansTab.refreshAttributesButton.toolTip", "\u5237\u65b0\u5c5e\u6027"},
82.63 + {"MBeansTab.subscribeNotificationsButton", "\u8ba2\u9605(S)"},
82.64 + {"MBeansTab.subscribeNotificationsButton.mnemonic", 'S'},
82.65 + {"MBeansTab.subscribeNotificationsButton.toolTip", "\u5f00\u59cb\u4fa6\u542c\u901a\u77e5"},
82.66 + {"MBeansTab.tabularNavigationMultiple", "\u8868\u683c\u5bfc\u822a {0}/{1}"},
82.67 + {"MBeansTab.tabularNavigationSingle", "\u8868\u683c\u5bfc\u822a"},
82.68 + {"MBeansTab.unsubscribeNotificationsButton", "\u53d6\u6d88\u8ba2\u9605(U)"},
82.69 + {"MBeansTab.unsubscribeNotificationsButton.mnemonic", 'U'},
82.70 + {"MBeansTab.unsubscribeNotificationsButton.toolTip", "\u505c\u6b62\u4fa6\u542c\u901a\u77e5"},
82.71 {"Manage Hotspot MBeans in: ", "\u7ba1\u7406 Hotspot MBean \u4e8e\uff1a "},
82.72 {"Max","\u6700\u5927\u503c"},
82.73 {"Maximum heap size","\u5806\u5927\u5c0f\u7684\u6700\u5927\u503c"},
82.74 @@ -262,7 +268,7 @@
82.75 {"Minimize All.mnemonic", 'M'},
82.76 {"Minus Version", "\u8fd9\u662f {0} \u7248\u672c {1}"},
82.77 {"Monitor locked",
82.78 -" - \u5df2\u9501\u5b9a {0}" + cr},
82.79 + " - \u5df2\u9501\u5b9a {0}" + cr},
82.80 {"Motif","\u4fee\u6539"},
82.81 {"Name Build and Mode","{0}\uff08\u5185\u90e8\u7248\u672c {1}\u3001{2}\uff09"},
82.82 {"Name and Build","{0}\uff08\u5185\u90e8\u7248\u672c {1}\uff09"},
82.83 @@ -343,7 +349,6 @@
82.84 {"Source","\u6e90"},
82.85 {"Stack trace",
82.86 cr + "\u5806\u6808\u8ffd\u8e2a\uff1a " + cr},
82.87 - {"Subscribe","\u8ba2\u9605"},
82.88 {"Success:","\u6210\u529f\uff1a"},
82.89 // Note: SummaryTab.headerDateTimeFormat can be one the following:
82.90 // 1. A combination of two styles for date and time, using the
82.91 @@ -357,7 +362,6 @@
82.92 {"SummaryTab.pendingFinalization.value", "{0} \u4e2a\u5bf9\u8c61"},
82.93 {"SummaryTab.tabName", "VM \u6458\u8981"},
82.94 {"SummaryTab.vmVersion","{0} \u7248\u672c {1}"},
82.95 - {"Tabular Navigation","\u8868\u683c\u5f0f\u6d4f\u89c8"},
82.96 {"TabularData are not supported", "\u4e0d\u652f\u6301\u8868\u683c\u5f0f\u6570\u636e"},
82.97 {"Threads","\u7ebf\u7a0b"},
82.98 {"ThreadTab.infoLabelFormat", "<html>\u6d3b\u52a8: {0} \u5cf0\u503c: {1} \u603b\u8ba1: {2}</html>"},
82.99 @@ -381,7 +385,6 @@
82.100 {"Unavailable","\u4e0d\u53ef\u7528"},
82.101 {"UNKNOWN","\u672a\u77e5"},
82.102 {"Unknown Host","\u672a\u77e5\u4e3b\u673a: {0}"},
82.103 - {"Unsubscribe","\u672a\u8ba2\u9605"},
82.104 {"Unregister", "\u672a\u6ce8\u518c"},
82.105 {"Uptime","\u6b63\u5e38\u8fd0\u884c\u65f6\u95f4"},
82.106 {"Uptime: ","\u6b63\u5e38\u8fd0\u884c\u65f6\u95f4\uff1a "},
82.107 @@ -409,15 +412,11 @@
82.108 {"You cannot drop a class here", "\u60a8\u4e0d\u80fd\u5c06\u7c7b\u653e\u5728\u6b64\u5904"},
82.109 {"collapse", "\u6298\u53e0"},
82.110 {"connectionFailed1","\u8fde\u63a5\u5931\u8d25\uff1a\u662f\u5426\u91cd\u8bd5\uff1f"},
82.111 - {"connectionFailed2","\u4e0e {0} \u7684\u8fde\u63a5\u672a\u6210\u529f\u3002<br>" +
82.112 -"\u662f\u5426\u8981\u91cd\u8bd5\uff1f"},
82.113 + {"connectionFailed2","\u4e0e {0} \u7684\u8fde\u63a5\u672a\u6210\u529f\u3002<br>\u662f\u5426\u8981\u91cd\u8bd5\uff1f"},
82.114 {"connectionLost1","\u8fde\u63a5\u65ad\u5f00\uff1a\u662f\u5426\u91cd\u65b0\u8fde\u63a5\uff1f"},
82.115 - {"connectionLost2","\u4e0e {0} \u7684\u8fde\u63a5\u5df2\u65ad\u5f00" +
82.116 - "\u539f\u56e0\u662f\u5df2\u7ec8\u6b62\u8fdc\u7a0b\u8fdb\u7a0b\u3002<br>" +
82.117 - "\u662f\u5426\u8981\u91cd\u65b0\u8fde\u63a5\uff1f"},
82.118 + {"connectionLost2","\u4e0e {0} \u7684\u8fde\u63a5\u5df2\u65ad\u5f00\u539f\u56e0\u662f\u5df2\u7ec8\u6b62\u8fdc\u7a0b\u8fdb\u7a0b\u3002<br>\u662f\u5426\u8981\u91cd\u65b0\u8fde\u63a5\uff1f"},
82.119 {"connectingTo1","\u6b63\u5728\u8fde\u63a5\u81f3 {0}"},
82.120 - {"connectingTo2","\u5f53\u524d\u6b63\u5728\u8fde\u63a5\u81f3 {0}\u3002<br>" +
82.121 -"\u8fd9\u5c06\u4f1a\u82b1\u8d39\u4e00\u4e9b\u65f6\u95f4\u3002"},
82.122 + {"connectingTo2","\u5f53\u524d\u6b63\u5728\u8fde\u63a5\u81f3 {0}\u3002<br>\u8fd9\u5c06\u4f1a\u82b1\u8d39\u4e00\u4e9b\u65f6\u95f4\u3002"},
82.123 {"deadlockAllTab","\u5168\u90e8"},
82.124 {"deadlockTab","\u6b7b\u9501"},
82.125 {"deadlockTabN","\u6b7b\u9501 {0}"},
82.126 @@ -435,7 +434,7 @@
82.127 " -version \u8f93\u51fa\u7a0b\u5e8f\u7248\u672c" + cr +
82.128 cr +
82.129 " connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)" + cr +
82.130 - " pid \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID"+ cr +
82.131 + " pid \u76ee\u6807\u8fdb\u7a0b\u7684\u8fdb\u7a0b ID" + cr +
82.132 " host \u8fdc\u7a0b\u4e3b\u673a\u540d\u6216 IP \u5730\u5740" + cr +
82.133 " port \u7528\u4e8e\u8fdc\u7a0b\u8fde\u63a5\u7684\u7aef\u53e3\u53f7" + cr +
82.134 cr +
83.1 --- a/src/share/classes/sun/util/resources/CalendarData_hu.properties Thu Apr 22 16:54:34 2010 -0700
83.2 +++ b/src/share/classes/sun/util/resources/CalendarData_hu.properties Thu Apr 29 13:53:09 2010 -0700
83.3 @@ -37,4 +37,4 @@
83.4
83.5
83.6 firstDayOfWeek=2
83.7 -minimalDaysInFirstWeek=1
83.8 +minimalDaysInFirstWeek=4
84.1 --- a/src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties Thu Apr 22 16:54:34 2010 -0700
84.2 +++ b/src/share/classes/sun/util/resources/CurrencyNames_uk_UA.properties Thu Apr 29 13:53:09 2010 -0700
84.3 @@ -35,4 +35,4 @@
84.4 # This notice and attribution to Taligent may not be removed.
84.5 # Taligent is a registered trademark of Taligent, Inc.
84.6
84.7 -UAH=\u0433\u0440\u043b.
84.8 +UAH=\u0433\u0440\u043d.
85.1 --- a/src/solaris/classes/sun/awt/X11/XToolkit.java Thu Apr 22 16:54:34 2010 -0700
85.2 +++ b/src/solaris/classes/sun/awt/X11/XToolkit.java Thu Apr 29 13:53:09 2010 -0700
85.3 @@ -307,22 +307,35 @@
85.4 } finally {
85.5 awtUnlock();
85.6 }
85.7 -
85.8 - Runtime.getRuntime().addShutdownHook(new Thread() {
85.9 - public void run() {
85.10 - XSystemTrayPeer peer = XSystemTrayPeer.getPeerInstance();
85.11 - if (peer != null) {
85.12 - peer.dispose();
85.13 + PrivilegedAction<Void> a = new PrivilegedAction<Void>() {
85.14 + public Void run() {
85.15 + ThreadGroup mainTG = Thread.currentThread().getThreadGroup();
85.16 + ThreadGroup parentTG = mainTG.getParent();
85.17 + while (parentTG != null) {
85.18 + mainTG = parentTG;
85.19 + parentTG = mainTG.getParent();
85.20 }
85.21 - if (xs != null) {
85.22 - ((XAWTXSettings)xs).dispose();
85.23 - }
85.24 - freeXKB();
85.25 - if (log.isLoggable(PlatformLogger.FINE)) {
85.26 - dumpPeers();
85.27 - }
85.28 + Thread shutdownThread = new Thread(mainTG, "XToolkt-Shutdown-Thread") {
85.29 + public void run() {
85.30 + XSystemTrayPeer peer = XSystemTrayPeer.getPeerInstance();
85.31 + if (peer != null) {
85.32 + peer.dispose();
85.33 + }
85.34 + if (xs != null) {
85.35 + ((XAWTXSettings)xs).dispose();
85.36 + }
85.37 + freeXKB();
85.38 + if (log.isLoggable(PlatformLogger.FINE)) {
85.39 + dumpPeers();
85.40 + }
85.41 + }
85.42 + };
85.43 + shutdownThread.setContextClassLoader(null);
85.44 + Runtime.getRuntime().addShutdownHook(shutdownThread);
85.45 + return null;
85.46 }
85.47 - });
85.48 + };
85.49 + AccessController.doPrivileged(a);
85.50 }
85.51
85.52 static String getCorrectXIDString(String val) {
86.1 --- a/src/solaris/classes/sun/awt/X11GraphicsDevice.java Thu Apr 22 16:54:34 2010 -0700
86.2 +++ b/src/solaris/classes/sun/awt/X11GraphicsDevice.java Thu Apr 29 13:53:09 2010 -0700
86.3 @@ -32,6 +32,8 @@
86.4 import java.awt.GraphicsConfiguration;
86.5 import java.awt.Rectangle;
86.6 import java.awt.Window;
86.7 +import java.security.AccessController;
86.8 +import java.security.PrivilegedAction;
86.9 import java.util.ArrayList;
86.10 import java.util.HashSet;
86.11 import java.util.HashMap;
86.12 @@ -402,17 +404,30 @@
86.13 // is already in the original DisplayMode at that time, this
86.14 // hook will have no effect)
86.15 shutdownHookRegistered = true;
86.16 - Runnable r = new Runnable() {
86.17 - public void run() {
86.18 - Window old = getFullScreenWindow();
86.19 - if (old != null) {
86.20 - exitFullScreenExclusive(old);
86.21 - setDisplayMode(origDisplayMode);
86.22 + PrivilegedAction<Void> a = new PrivilegedAction<Void>() {
86.23 + public Void run() {
86.24 + ThreadGroup mainTG = Thread.currentThread().getThreadGroup();
86.25 + ThreadGroup parentTG = mainTG.getParent();
86.26 + while (parentTG != null) {
86.27 + mainTG = parentTG;
86.28 + parentTG = mainTG.getParent();
86.29 }
86.30 + Runnable r = new Runnable() {
86.31 + public void run() {
86.32 + Window old = getFullScreenWindow();
86.33 + if (old != null) {
86.34 + exitFullScreenExclusive(old);
86.35 + setDisplayMode(origDisplayMode);
86.36 + }
86.37 + }
86.38 + };
86.39 + Thread t = new Thread(mainTG, r,"Display-Change-Shutdown-Thread-"+screen);
86.40 + t.setContextClassLoader(null);
86.41 + Runtime.getRuntime().addShutdownHook(t);
86.42 + return null;
86.43 }
86.44 };
86.45 - Thread t = new Thread(r,"Display-Change-Shutdown-Thread-"+screen);
86.46 - Runtime.getRuntime().addShutdownHook(t);
86.47 + AccessController.doPrivileged(a);
86.48 }
86.49
86.50 // switch to the new DisplayMode
87.1 --- a/src/solaris/classes/sun/awt/motif/MToolkit.java Thu Apr 22 16:54:34 2010 -0700
87.2 +++ b/src/solaris/classes/sun/awt/motif/MToolkit.java Thu Apr 29 13:53:09 2010 -0700
87.3 @@ -156,27 +156,27 @@
87.4 Thread toolkitThread = new Thread(this, "AWT-Motif");
87.5 toolkitThread.setPriority(Thread.NORM_PRIORITY + 1);
87.6 toolkitThread.setDaemon(true);
87.7 - ThreadGroup mainTG = (ThreadGroup)AccessController.doPrivileged(
87.8 - new PrivilegedAction() {
87.9 - public Object run() {
87.10 - ThreadGroup currentTG =
87.11 - Thread.currentThread().getThreadGroup();
87.12 - ThreadGroup parentTG = currentTG.getParent();
87.13 - while (parentTG != null) {
87.14 - currentTG = parentTG;
87.15 - parentTG = currentTG.getParent();
87.16 - }
87.17 - return currentTG;
87.18 +
87.19 + PrivilegedAction<Void> a = new PrivilegedAction<Void>() {
87.20 + public Void run() {
87.21 + ThreadGroup mainTG = Thread.currentThread().getThreadGroup();
87.22 + ThreadGroup parentTG = mainTG.getParent();
87.23 +
87.24 + while (parentTG != null) {
87.25 + mainTG = parentTG;
87.26 + parentTG = mainTG.getParent();
87.27 }
87.28 - });
87.29 -
87.30 - Runtime.getRuntime().addShutdownHook(
87.31 - new Thread(mainTG, new Runnable() {
87.32 - public void run() {
87.33 - shutdown();
87.34 - }
87.35 - }, "Shutdown-Thread")
87.36 - );
87.37 + Thread shutdownThread = new Thread(mainTG, new Runnable() {
87.38 + public void run() {
87.39 + shutdown();
87.40 + }
87.41 + }, "Shutdown-Thread");
87.42 + shutdownThread.setContextClassLoader(null);
87.43 + Runtime.getRuntime().addShutdownHook(shutdownThread);
87.44 + return null;
87.45 + }
87.46 + };
87.47 + AccessController.doPrivileged(a);
87.48
87.49 /*
87.50 * Fix for 4701990.
88.1 --- a/src/windows/classes/sun/awt/windows/WToolkit.java Thu Apr 22 16:54:34 2010 -0700
88.2 +++ b/src/windows/classes/sun/awt/windows/WToolkit.java Thu Apr 29 13:53:09 2010 -0700
88.3 @@ -266,27 +266,25 @@
88.4 boolean startPump = init();
88.5
88.6 if (startPump) {
88.7 - ThreadGroup mainTG = (ThreadGroup)AccessController.doPrivileged(
88.8 - new PrivilegedAction() {
88.9 - public Object run() {
88.10 - ThreadGroup currentTG =
88.11 - Thread.currentThread().getThreadGroup();
88.12 - ThreadGroup parentTG = currentTG.getParent();
88.13 - while (parentTG != null) {
88.14 - currentTG = parentTG;
88.15 - parentTG = currentTG.getParent();
88.16 - }
88.17 - return currentTG;
88.18 + AccessController.doPrivileged(new PrivilegedAction() {
88.19 + public Object run() {
88.20 + ThreadGroup currentTG =
88.21 + Thread.currentThread().getThreadGroup();
88.22 + ThreadGroup parentTG = currentTG.getParent();
88.23 + while (parentTG != null) {
88.24 + currentTG = parentTG;
88.25 + parentTG = currentTG.getParent();
88.26 }
88.27 + Thread shutdown = new Thread(currentTG, new Runnable() {
88.28 + public void run() {
88.29 + shutdown();
88.30 + }
88.31 + });
88.32 + shutdown.setContextClassLoader(null);
88.33 + Runtime.getRuntime().addShutdownHook(shutdown);
88.34 + return null;
88.35 + }
88.36 });
88.37 -
88.38 - Runtime.getRuntime().addShutdownHook(
88.39 - new Thread(mainTG, new Runnable() {
88.40 - public void run() {
88.41 - shutdown();
88.42 - }
88.43 - })
88.44 - );
88.45 }
88.46
88.47 synchronized(this) {
89.1 --- a/src/windows/classes/sun/awt/windows/fontconfig.properties Thu Apr 22 16:54:34 2010 -0700
89.2 +++ b/src/windows/classes/sun/awt/windows/fontconfig.properties Thu Apr 29 13:53:09 2010 -0700
89.3 @@ -41,6 +41,7 @@
89.4 allfonts.lucida=Lucida Sans Regular
89.5 allfonts.symbol=Symbol
89.6 allfonts.thai=Lucida Sans Regular
89.7 +allfonts.georgian=Sylfaen
89.8
89.9 serif.plain.alphabetic=Times New Roman
89.10 serif.plain.chinese-ms950=MingLiU
89.11 @@ -237,7 +238,7 @@
89.12
89.13 sequence.fallback=lucida,\
89.14 chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
89.15 - japanese,korean,chinese-ms950-extb,chinese-ms936-extb
89.16 + japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian
89.17
89.18 # Exclusion Ranges
89.19
89.20 @@ -296,3 +297,4 @@
89.21 filename.Symbol=SYMBOL.TTF
89.22 filename.Wingdings=WINGDING.TTF
89.23
89.24 +filename.Sylfaen=sylfaen.ttf
90.1 --- a/src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java Thu Apr 22 16:54:34 2010 -0700
90.2 +++ b/src/windows/classes/sun/java2d/d3d/D3DScreenUpdateManager.java Thu Apr 29 13:53:09 2010 -0700
90.3 @@ -101,17 +101,15 @@
90.4 currentTG = parentTG;
90.5 parentTG = currentTG.getParent();
90.6 }
90.7 + Thread shutdown = new Thread(currentTG, new Runnable() {
90.8 + public void run() {
90.9 + done = true;
90.10 + wakeUpUpdateThread();
90.11 + }
90.12 + });
90.13 + shutdown.setContextClassLoader(null);
90.14 try {
90.15 - Runtime.getRuntime().addShutdownHook(
90.16 - new Thread(currentTG,
90.17 - new Runnable() {
90.18 - public void run() {
90.19 - done = true;
90.20 - wakeUpUpdateThread();
90.21 - }
90.22 - }
90.23 - )
90.24 - );
90.25 + Runtime.getRuntime().addShutdownHook(shutdown);
90.26 } catch (Exception e) {
90.27 done = true;
90.28 }
91.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
91.2 +++ b/test/java/awt/font/NumericShaper/EasternArabicTest.java Thu Apr 29 13:53:09 2010 -0700
91.3 @@ -0,0 +1,118 @@
91.4 +/*
91.5 + * Copyright (c) 2010 Sun Microsystems, Inc. All Rights Reserved.
91.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
91.7 + *
91.8 + * This code is free software; you can redistribute it and/or modify it
91.9 + * under the terms of the GNU General Public License version 2 only, as
91.10 + * published by the Free Software Foundation.
91.11 + *
91.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
91.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
91.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
91.15 + * version 2 for more details (a copy is included in the LICENSE file that
91.16 + * accompanied this code).
91.17 + *
91.18 + * You should have received a copy of the GNU General Public License version
91.19 + * 2 along with this work; if not, write to the Free Software Foundation,
91.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
91.21 + *
91.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
91.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
91.24 + * have any questions.
91.25 + */
91.26 +
91.27 +/*
91.28 + * @test
91.29 + * @bug 6941948
91.30 + * @summary Make sure that EASTERN_ARABIC works with the enum interface.
91.31 + */
91.32 +
91.33 +import java.awt.font.NumericShaper;
91.34 +import java.util.EnumSet;
91.35 +import static java.awt.font.NumericShaper.*;
91.36 +
91.37 +public class EasternArabicTest {
91.38 + static NumericShaper ns_old, ns_new;
91.39 + static boolean err = false;
91.40 +
91.41 + static String[][] testData = {
91.42 + // Arabic "October 10"
91.43 + {"\u0623\u0643\u062a\u0648\u0628\u0631 10",
91.44 + "\u0623\u0643\u062a\u0648\u0628\u0631 \u06f1\u06f0"}, // EASTERN_ARABIC digits
91.45 +
91.46 + // Tamil "Year 2009"
91.47 + {"\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 2009",
91.48 + "\u0b86\u0ba3\u0bcd\u0b9f\u0bc1 \u0be8\u0be6\u0be6\u0bef"},
91.49 + // "\u0be800\u0bef is returned by pre-JDK7 because Tamil zero was not
91.50 + // included in Unicode 4.0.0.
91.51 +
91.52 + // Ethiopic "Syllable<HA> 2009"
91.53 + {"\u1200 2009",
91.54 + "\u1200 \u136a00\u1371"},
91.55 + // Ethiopic zero doesn't exist even in Unicode 5.1.0.
91.56 + };
91.57 +
91.58 + public static void main(String[] args) {
91.59 + ns_old = getContextualShaper(TAMIL|ETHIOPIC|EASTERN_ARABIC|ARABIC|THAI|LAO,
91.60 + EUROPEAN);
91.61 + ns_new = getContextualShaper(EnumSet.of(Range.THAI,
91.62 + Range.TAMIL,
91.63 + Range.ETHIOPIC,
91.64 + Range.EASTERN_ARABIC,
91.65 + Range.ARABIC,
91.66 + Range.LAO),
91.67 + Range.EUROPEAN);
91.68 +
91.69 +
91.70 + StringBuilder cData = new StringBuilder();
91.71 + StringBuilder cExpected = new StringBuilder();
91.72 + for (int i = 0; i < testData.length; i++) {
91.73 + String data = testData[i][0];
91.74 + String expected = testData[i][1];
91.75 + test(data, expected);
91.76 + cData.append(data).append(' ');
91.77 + cExpected.append(expected).append(' ');
91.78 + }
91.79 + test(cData.toString(), cExpected.toString());
91.80 +
91.81 + if (err) {
91.82 + throw new RuntimeException("shape() returned unexpected value.");
91.83 + }
91.84 + }
91.85 +
91.86 + private static void test(String data, String expected) {
91.87 + char[] text = data.toCharArray();
91.88 + ns_old.shape(text, 0, text.length);
91.89 + String got = new String(text);
91.90 +
91.91 + if (!expected.equals(got)) {
91.92 + err = true;
91.93 + System.err.println("Error with traditional range.");
91.94 + System.err.println(" text = " + data);
91.95 + System.err.println(" got = " + got);
91.96 + System.err.println(" expected = " + expected);
91.97 + } else {
91.98 + System.err.println("OK with traditional range.");
91.99 + System.err.println(" text = " + data);
91.100 + System.err.println(" got = " + got);
91.101 + System.err.println(" expected = " + expected);
91.102 + }
91.103 +
91.104 + text = data.toCharArray();
91.105 + ns_new.shape(text, 0, text.length);
91.106 + got = new String(text);
91.107 +
91.108 + if (!expected.equals(got)) {
91.109 + err = true;
91.110 + System.err.println("Error with new Enum range.");
91.111 + System.err.println(" text = " + data);
91.112 + System.err.println(" got = " + got);
91.113 + System.err.println(" expected = " + expected);
91.114 + } else {
91.115 + System.err.println("OK with new Enum range.");
91.116 + System.err.println(" text = " + data);
91.117 + System.err.println(" got = " + got);
91.118 + System.err.println(" expected = " + expected);
91.119 + }
91.120 + }
91.121 +}
92.1 --- a/test/java/util/Locale/Bug4175998Test.java Thu Apr 22 16:54:34 2010 -0700
92.2 +++ b/test/java/util/Locale/Bug4175998Test.java Thu Apr 29 13:53:09 2010 -0700
92.3 @@ -32,16 +32,6 @@
92.4 *
92.5 * (C) Copyright IBM Corp. 1998 - All Rights Reserved
92.6 *
92.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
92.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
92.9 - * All rights reserved.
92.10 - *
92.11 - * This software is the confidential and proprietary information
92.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
92.13 - * shall not disclose such Confidential Information and shall use
92.14 - * it only in accordance with the terms of the license agreement
92.15 - * you entered into with Sun.
92.16 - *
92.17 * The original version of this source code and documentation is
92.18 * copyrighted and owned by IBM. These materials are provided
92.19 * under terms of a License Agreement between IBM and Sun.
93.1 --- a/test/java/util/ResourceBundle/Bug4083270Test.java Thu Apr 22 16:54:34 2010 -0700
93.2 +++ b/test/java/util/ResourceBundle/Bug4083270Test.java Thu Apr 29 13:53:09 2010 -0700
93.3 @@ -31,16 +31,6 @@
93.4 *
93.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
93.6 *
93.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
93.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
93.9 - * All rights reserved.
93.10 - *
93.11 - * This software is the confidential and proprietary information
93.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
93.13 - * shall not disclose such Confidential Information and shall use
93.14 - * it only in accordance with the terms of the license agreement
93.15 - * you entered into with Sun.
93.16 - *
93.17 * The original version of this source code and documentation is
93.18 * copyrighted and owned by IBM. These materials are provided
93.19 * under terms of a License Agreement between IBM and Sun.
94.1 --- a/test/java/util/ResourceBundle/Bug4165815Test.java Thu Apr 22 16:54:34 2010 -0700
94.2 +++ b/test/java/util/ResourceBundle/Bug4165815Test.java Thu Apr 29 13:53:09 2010 -0700
94.3 @@ -34,16 +34,6 @@
94.4 *
94.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
94.6 *
94.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
94.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
94.9 - * All rights reserved.
94.10 - *
94.11 - * This software is the confidential and proprietary information
94.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
94.13 - * shall not disclose such Confidential Information and shall use
94.14 - * it only in accordance with the terms of the license agreement
94.15 - * you entered into with Sun.
94.16 - *
94.17 * The original version of this source code and documentation is
94.18 * copyrighted and owned by IBM. These materials are provided
94.19 * under terms of a License Agreement between IBM and Sun.
95.1 --- a/test/java/util/ResourceBundle/Bug4168625Class.java Thu Apr 22 16:54:34 2010 -0700
95.2 +++ b/test/java/util/ResourceBundle/Bug4168625Class.java Thu Apr 29 13:53:09 2010 -0700
95.3 @@ -25,16 +25,6 @@
95.4 *
95.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
95.6 *
95.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
95.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
95.9 - * All rights reserved.
95.10 - *
95.11 - * This software is the confidential and proprietary information
95.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
95.13 - * shall not disclose such Confidential Information and shall use
95.14 - * it only in accordance with the terms of the license agreement
95.15 - * you entered into with Sun.
95.16 - *
95.17 * The original version of this source code and documentation is
95.18 * copyrighted and owned by IBM. These materials are provided
95.19 * under terms of a License Agreement between IBM and Sun.
96.1 --- a/test/java/util/ResourceBundle/Bug4168625Getter.java Thu Apr 22 16:54:34 2010 -0700
96.2 +++ b/test/java/util/ResourceBundle/Bug4168625Getter.java Thu Apr 29 13:53:09 2010 -0700
96.3 @@ -25,16 +25,6 @@
96.4 *
96.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
96.6 *
96.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
96.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
96.9 - * All rights reserved.
96.10 - *
96.11 - * This software is the confidential and proprietary information
96.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
96.13 - * shall not disclose such Confidential Information and shall use
96.14 - * it only in accordance with the terms of the license agreement
96.15 - * you entered into with Sun.
96.16 - *
96.17 * The original version of this source code and documentation is
96.18 * copyrighted and owned by IBM. These materials are provided
96.19 * under terms of a License Agreement between IBM and Sun.
97.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource.java Thu Apr 22 16:54:34 2010 -0700
97.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource.java Thu Apr 29 13:53:09 2010 -0700
97.3 @@ -25,16 +25,6 @@
97.4 *
97.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
97.6 *
97.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
97.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
97.9 - * All rights reserved.
97.10 - *
97.11 - * This software is the confidential and proprietary information
97.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
97.13 - * shall not disclose such Confidential Information and shall use
97.14 - * it only in accordance with the terms of the license agreement
97.15 - * you entered into with Sun.
97.16 - *
97.17 * The original version of this source code and documentation is
97.18 * copyrighted and owned by IBM. These materials are provided
97.19 * under terms of a License Agreement between IBM and Sun.
98.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource2.java Thu Apr 22 16:54:34 2010 -0700
98.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource2.java Thu Apr 29 13:53:09 2010 -0700
98.3 @@ -25,16 +25,6 @@
98.4 *
98.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
98.6 *
98.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
98.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
98.9 - * All rights reserved.
98.10 - *
98.11 - * This software is the confidential and proprietary information
98.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
98.13 - * shall not disclose such Confidential Information and shall use
98.14 - * it only in accordance with the terms of the license agreement
98.15 - * you entered into with Sun.
98.16 - *
98.17 * The original version of this source code and documentation is
98.18 * copyrighted and owned by IBM. These materials are provided
98.19 * under terms of a License Agreement between IBM and Sun.
99.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java Thu Apr 22 16:54:34 2010 -0700
99.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource2_en_US.java Thu Apr 29 13:53:09 2010 -0700
99.3 @@ -25,16 +25,6 @@
99.4 *
99.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
99.6 *
99.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
99.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
99.9 - * All rights reserved.
99.10 - *
99.11 - * This software is the confidential and proprietary information
99.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
99.13 - * shall not disclose such Confidential Information and shall use
99.14 - * it only in accordance with the terms of the license agreement
99.15 - * you entered into with Sun.
99.16 - *
99.17 * The original version of this source code and documentation is
99.18 * copyrighted and owned by IBM. These materials are provided
99.19 * under terms of a License Agreement between IBM and Sun.
100.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource3.java Thu Apr 22 16:54:34 2010 -0700
100.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource3.java Thu Apr 29 13:53:09 2010 -0700
100.3 @@ -25,16 +25,6 @@
100.4 *
100.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
100.6 *
100.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
100.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
100.9 - * All rights reserved.
100.10 - *
100.11 - * This software is the confidential and proprietary information
100.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
100.13 - * shall not disclose such Confidential Information and shall use
100.14 - * it only in accordance with the terms of the license agreement
100.15 - * you entered into with Sun.
100.16 - *
100.17 * The original version of this source code and documentation is
100.18 * copyrighted and owned by IBM. These materials are provided
100.19 * under terms of a License Agreement between IBM and Sun.
101.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource3_en.java Thu Apr 22 16:54:34 2010 -0700
101.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource3_en.java Thu Apr 29 13:53:09 2010 -0700
101.3 @@ -25,16 +25,6 @@
101.4 *
101.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
101.6 *
101.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
101.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
101.9 - * All rights reserved.
101.10 - *
101.11 - * This software is the confidential and proprietary information
101.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
101.13 - * shall not disclose such Confidential Information and shall use
101.14 - * it only in accordance with the terms of the license agreement
101.15 - * you entered into with Sun.
101.16 - *
101.17 * The original version of this source code and documentation is
101.18 * copyrighted and owned by IBM. These materials are provided
101.19 * under terms of a License Agreement between IBM and Sun.
102.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java Thu Apr 22 16:54:34 2010 -0700
102.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource3_en_CA.java Thu Apr 29 13:53:09 2010 -0700
102.3 @@ -25,16 +25,6 @@
102.4 *
102.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
102.6 *
102.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
102.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
102.9 - * All rights reserved.
102.10 - *
102.11 - * This software is the confidential and proprietary information
102.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
102.13 - * shall not disclose such Confidential Information and shall use
102.14 - * it only in accordance with the terms of the license agreement
102.15 - * you entered into with Sun.
102.16 - *
102.17 * The original version of this source code and documentation is
102.18 * copyrighted and owned by IBM. These materials are provided
102.19 * under terms of a License Agreement between IBM and Sun.
103.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java Thu Apr 22 16:54:34 2010 -0700
103.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource3_en_IE.java Thu Apr 29 13:53:09 2010 -0700
103.3 @@ -25,16 +25,6 @@
103.4 *
103.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
103.6 *
103.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
103.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
103.9 - * All rights reserved.
103.10 - *
103.11 - * This software is the confidential and proprietary information
103.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
103.13 - * shall not disclose such Confidential Information and shall use
103.14 - * it only in accordance with the terms of the license agreement
103.15 - * you entered into with Sun.
103.16 - *
103.17 * The original version of this source code and documentation is
103.18 * copyrighted and owned by IBM. These materials are provided
103.19 * under terms of a License Agreement between IBM and Sun.
104.1 --- a/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java Thu Apr 22 16:54:34 2010 -0700
104.2 +++ b/test/java/util/ResourceBundle/Bug4168625Resource3_en_US.java Thu Apr 29 13:53:09 2010 -0700
104.3 @@ -25,16 +25,6 @@
104.4 *
104.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
104.6 *
104.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
104.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
104.9 - * All rights reserved.
104.10 - *
104.11 - * This software is the confidential and proprietary information
104.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
104.13 - * shall not disclose such Confidential Information and shall use
104.14 - * it only in accordance with the terms of the license agreement
104.15 - * you entered into with Sun.
104.16 - *
104.17 * The original version of this source code and documentation is
104.18 * copyrighted and owned by IBM. These materials are provided
104.19 * under terms of a License Agreement between IBM and Sun.
105.1 --- a/test/java/util/ResourceBundle/Bug4177489Test.java Thu Apr 22 16:54:34 2010 -0700
105.2 +++ b/test/java/util/ResourceBundle/Bug4177489Test.java Thu Apr 29 13:53:09 2010 -0700
105.3 @@ -32,16 +32,6 @@
105.4 *
105.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
105.6 *
105.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
105.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
105.9 - * All rights reserved.
105.10 - *
105.11 - * This software is the confidential and proprietary information
105.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
105.13 - * shall not disclose such Confidential Information and shall use
105.14 - * it only in accordance with the terms of the license agreement
105.15 - * you entered into with Sun.
105.16 - *
105.17 * The original version of this source code and documentation is
105.18 * copyrighted and owned by IBM. These materials are provided
105.19 * under terms of a License Agreement between IBM and Sun.
106.1 --- a/test/java/util/ResourceBundle/Bug4177489_Resource.java Thu Apr 22 16:54:34 2010 -0700
106.2 +++ b/test/java/util/ResourceBundle/Bug4177489_Resource.java Thu Apr 29 13:53:09 2010 -0700
106.3 @@ -25,16 +25,6 @@
106.4 *
106.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
106.6 *
106.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
106.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
106.9 - * All rights reserved.
106.10 - *
106.11 - * This software is the confidential and proprietary information
106.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
106.13 - * shall not disclose such Confidential Information and shall use
106.14 - * it only in accordance with the terms of the license agreement
106.15 - * you entered into with Sun.
106.16 - *
106.17 * The original version of this source code and documentation is
106.18 * copyrighted and owned by IBM. These materials are provided
106.19 * under terms of a License Agreement between IBM and Sun.
107.1 --- a/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java Thu Apr 22 16:54:34 2010 -0700
107.2 +++ b/test/java/util/ResourceBundle/Bug4177489_Resource_jf.java Thu Apr 29 13:53:09 2010 -0700
107.3 @@ -25,16 +25,6 @@
107.4 *
107.5 * (C) Copyright IBM Corp. 1999 - All Rights Reserved
107.6 *
107.7 - * Portions Copyright 2007 by Sun Microsystems, Inc.,
107.8 - * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
107.9 - * All rights reserved.
107.10 - *
107.11 - * This software is the confidential and proprietary information
107.12 - * of Sun Microsystems, Inc. ("Confidential Information"). You
107.13 - * shall not disclose such Confidential Information and shall use
107.14 - * it only in accordance with the terms of the license agreement
107.15 - * you entered into with Sun.
107.16 - *
107.17 * The original version of this source code and documentation is
107.18 * copyrighted and owned by IBM. These materials are provided
107.19 * under terms of a License Agreement between IBM and Sun.
108.1 --- a/test/java/util/regex/RegExTest.java Thu Apr 22 16:54:34 2010 -0700
108.2 +++ b/test/java/util/regex/RegExTest.java Thu Apr 29 13:53:09 2010 -0700
108.3 @@ -32,7 +32,7 @@
108.4 * 4872664 4803179 4892980 4900747 4945394 4938995 4979006 4994840 4997476
108.5 * 5013885 5003322 4988891 5098443 5110268 6173522 4829857 5027748 6376940
108.6 * 6358731 6178785 6284152 6231989 6497148 6486934 6233084 6504326 6635133
108.7 - * 6350801 6676425 6878475 6919132
108.8 + * 6350801 6676425 6878475 6919132 6931676
108.9 */
108.10
108.11 import java.util.regex.*;
108.12 @@ -3515,7 +3515,7 @@
108.13 report("NamedGroupCapture");
108.14 }
108.15
108.16 - // This is for bug 6969132
108.17 + // This is for bug 6919132
108.18 private static void nonBmpClassComplementTest() throws Exception {
108.19 Pattern p = Pattern.compile("\\P{Lu}");
108.20 Matcher m = p.matcher(new String(new int[] {0x1d400}, 0, 1));
109.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
109.2 +++ b/test/sun/awt/font/ClassLoaderLeakTest.java Thu Apr 29 13:53:09 2010 -0700
109.3 @@ -0,0 +1,220 @@
109.4 +/*
109.5 + * Copyright 2010 Sun Microsystems, Inc. All Rights Reserved.
109.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
109.7 + *
109.8 + * This code is free software; you can redistribute it and/or modify it
109.9 + * under the terms of the GNU General Public License version 2 only, as
109.10 + * published by the Free Software Foundation.
109.11 + *
109.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
109.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
109.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
109.15 + * version 2 for more details (a copy is included in the LICENSE file that
109.16 + * accompanied this code).
109.17 + *
109.18 + * You should have received a copy of the GNU General Public License version
109.19 + * 2 along with this work; if not, write to the Free Software Foundation,
109.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
109.21 + *
109.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
109.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
109.24 + * have any questions.
109.25 + */
109.26 +/**
109.27 + * @test
109.28 + * @bug 6936389
109.29 + *
109.30 + * @summary Test verifes that LogManager shutdown hook does not cause
109.31 + * an application classloader leaks.
109.32 + *
109.33 + * @run main/othervm ClassLoaderLeakTest FontManagerTest
109.34 + */
109.35 +
109.36 +import java.awt.Font;
109.37 +import java.awt.Graphics;
109.38 +import java.io.File;
109.39 +import java.lang.ref.WeakReference;
109.40 +import java.lang.reflect.Constructor;
109.41 +import java.lang.reflect.Method;
109.42 +import java.net.MalformedURLException;
109.43 +import java.net.URL;
109.44 +import java.net.URLClassLoader;
109.45 +import java.util.concurrent.CountDownLatch;
109.46 +
109.47 +public class ClassLoaderLeakTest {
109.48 +
109.49 + private static CountDownLatch doneSignal;
109.50 + private static CountDownLatch launchSignal;
109.51 + private static Throwable launchFailure = null;
109.52 +
109.53 + public static void main(String[] args) {
109.54 + doneSignal = new CountDownLatch(1);
109.55 + launchSignal = new CountDownLatch(1);
109.56 +
109.57 + String testcase = "FontManagerTest";
109.58 +
109.59 + if (args.length > 0) {
109.60 + testcase = args[0];
109.61 + }
109.62 +
109.63 + /* prepare test class loader */
109.64 + URL pwd = null;
109.65 + try {
109.66 +
109.67 + pwd = new File(System.getProperty("test.classes", ".")).toURL();
109.68 + } catch (MalformedURLException e) {
109.69 + throw new RuntimeException("Test failed.", e);
109.70 + }
109.71 + System.out.println("PWD: " + pwd);
109.72 + URL[] urls = new URL[]{pwd};
109.73 +
109.74 + MyClassLoader appClassLoader = new MyClassLoader(urls, "test0");
109.75 + WeakReference<MyClassLoader> ref =
109.76 + new WeakReference<MyClassLoader>(appClassLoader);
109.77 +
109.78 + ThreadGroup appsThreadGroup = new ThreadGroup("MyAppsThreadGroup");
109.79 +
109.80 + Runnable launcher = new TestLauncher(testcase);
109.81 +
109.82 + Thread appThread = new Thread(appsThreadGroup, launcher, "AppThread-0");
109.83 + appThread.setContextClassLoader(appClassLoader);
109.84 +
109.85 + appThread.start();
109.86 + appsThreadGroup = null;
109.87 + appClassLoader = null;
109.88 + launcher = null;
109.89 + appThread = null;
109.90 +
109.91 + /* wait for laucnh completion */
109.92 + try {
109.93 + launchSignal.await();
109.94 + } catch (InterruptedException e) {
109.95 + }
109.96 +
109.97 + /* check if launch failed */
109.98 + if (launchFailure != null) {
109.99 + throw new RuntimeException("Test failed.", launchFailure);
109.100 + }
109.101 +
109.102 + /* wait for test app excution completion */
109.103 + try {
109.104 + doneSignal.await();
109.105 + } catch (InterruptedException e) {
109.106 + }
109.107 +
109.108 + /* give a chance to GC */
109.109 + waitAndGC(9);
109.110 +
109.111 + if (ref.get() != null) {
109.112 + throw new RuntimeException("Test failed: classloader is still alive");
109.113 + }
109.114 +
109.115 +
109.116 + System.out.println("Test passed.");
109.117 + }
109.118 +
109.119 + private static class TestLauncher implements Runnable {
109.120 +
109.121 + private String className;
109.122 +
109.123 + public TestLauncher(String name) {
109.124 + className = name;
109.125 + }
109.126 +
109.127 + public void run() {
109.128 + try {
109.129 + ClassLoader cl =
109.130 + Thread.currentThread().getContextClassLoader();
109.131 + Class appMain = cl.loadClass(className);
109.132 + Method launch =
109.133 + appMain.getMethod("launch", doneSignal.getClass());
109.134 +
109.135 + Constructor c = appMain.getConstructor();
109.136 +
109.137 + Object o = c.newInstance();
109.138 +
109.139 + launch.invoke(o, doneSignal);
109.140 +
109.141 + } catch (Throwable e) {
109.142 + launchFailure = e;
109.143 + } finally {
109.144 + launchSignal.countDown();
109.145 + }
109.146 + }
109.147 + }
109.148 +
109.149 + private static class MyClassLoader extends URLClassLoader {
109.150 +
109.151 + private static boolean verbose =
109.152 + Boolean.getBoolean("verboseClassLoading");
109.153 + private String uniqClassName;
109.154 +
109.155 + public MyClassLoader(URL[] urls, String uniq) {
109.156 + super(urls);
109.157 +
109.158 + uniqClassName = uniq;
109.159 + }
109.160 +
109.161 + public Class loadClass(String name) throws ClassNotFoundException {
109.162 + if (verbose) {
109.163 + System.out.printf("%s: load class %s\n", uniqClassName, name);
109.164 + }
109.165 + if (uniqClassName.equals(name)) {
109.166 + return Object.class;
109.167 + }
109.168 + return super.loadClass(name);
109.169 + }
109.170 +
109.171 + public String toString() {
109.172 + return "MyClassLoader(" + uniqClassName + ")";
109.173 + }
109.174 + }
109.175 +
109.176 + private static void waitAndGC(int sec) {
109.177 + int cnt = sec;
109.178 + System.out.print("Wait ");
109.179 + while (cnt-- > 0) {
109.180 + try {
109.181 + Thread.sleep(1000);
109.182 + } catch (InterruptedException e) {
109.183 + }
109.184 + // do GC every 3 seconds
109.185 + if (cnt % 3 == 2) {
109.186 + System.gc();
109.187 + System.out.print("+");
109.188 + } else {
109.189 + System.out.print(".");
109.190 + }
109.191 + //checkErrors();
109.192 + }
109.193 + System.out.println("");
109.194 + }
109.195 +}
109.196 +
109.197 +abstract class AppTest {
109.198 +
109.199 + public AppTest() {
109.200 + }
109.201 +
109.202 + protected abstract void doTest();
109.203 +
109.204 + public void launch(CountDownLatch done) {
109.205 + System.out.println("Testcase: " + this.getClass().getName());
109.206 + try {
109.207 + doTest();
109.208 + } finally {
109.209 + done.countDown();
109.210 + }
109.211 + }
109.212 +}
109.213 +
109.214 +class FontManagerTest extends AppTest {
109.215 +
109.216 + public FontManagerTest() {
109.217 + }
109.218 +
109.219 + protected void doTest() {
109.220 + Font f = new Font(Font.SANS_SERIF, Font.ITALIC, 24);
109.221 + f.getNumGlyphs();
109.222 + }
109.223 +}
110.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
110.2 +++ b/test/sun/security/krb5/Krb5NameEquals.java Thu Apr 29 13:53:09 2010 -0700
110.3 @@ -0,0 +1,78 @@
110.4 +/*
110.5 + * Copyright 2007-2010 Sun Microsystems, Inc. All Rights Reserved.
110.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
110.7 + *
110.8 + * This code is free software; you can redistribute it and/or modify it
110.9 + * under the terms of the GNU General Public License version 2 only, as
110.10 + * published by the Free Software Foundation.
110.11 + *
110.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
110.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
110.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
110.15 + * version 2 for more details (a copy is included in the LICENSE file that
110.16 + * accompanied this code).
110.17 + *
110.18 + * You should have received a copy of the GNU General Public License version
110.19 + * 2 along with this work; if not, write to the Free Software Foundation,
110.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
110.21 + *
110.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
110.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
110.24 + * have any questions.
110.25 + */
110.26 +
110.27 +/*
110.28 + * @bug 4634392
110.29 + * @summary JDK code doesn't respect contract for equals and hashCode
110.30 + * @author Andrew Fan
110.31 + */
110.32 +
110.33 +import org.ietf.jgss.*;
110.34 +
110.35 +public class Krb5NameEquals {
110.36 +
110.37 + private static String NAME_STR1 = "service@host";
110.38 + private static String NAME_STR2 = "service@host2";
110.39 + private static final Oid MECH;
110.40 +
110.41 + static {
110.42 + Oid temp = null;
110.43 + try {
110.44 + temp = new Oid("1.2.840.113554.1.2.2"); // KRB5
110.45 + } catch (Exception e) {
110.46 + // should never happen
110.47 + }
110.48 + MECH = temp;
110.49 + }
110.50 +
110.51 + public static void main(String[] argv) throws Exception {
110.52 + GSSManager mgr = GSSManager.getInstance();
110.53 +
110.54 + boolean result = true;
110.55 + // Create GSSName and check their equals(), hashCode() impl
110.56 + GSSName name1 = mgr.createName(NAME_STR1,
110.57 + GSSName.NT_HOSTBASED_SERVICE, MECH);
110.58 + GSSName name2 = mgr.createName(NAME_STR2,
110.59 + GSSName.NT_HOSTBASED_SERVICE, MECH);
110.60 + GSSName name3 = mgr.createName(NAME_STR1,
110.61 + GSSName.NT_HOSTBASED_SERVICE, MECH);
110.62 +
110.63 + if (!name1.equals(name3) || !name1.equals(name3) ||
110.64 + !name1.equals((Object) name1) ||
110.65 + !name1.equals((Object) name3)) {
110.66 + System.out.println("Error: should be the same name");
110.67 + result = false;
110.68 + } else if (name1.hashCode() != name3.hashCode()) {
110.69 + System.out.println("Error: should have same hash");
110.70 + result = false;
110.71 + }
110.72 +
110.73 + if (name1.equals(name2) || name1.equals((Object) name2)) {
110.74 + System.out.println("Error: should be different names");
110.75 + result = false;
110.76 + }
110.77 + if (result) {
110.78 + System.out.println("Done");
110.79 + } else System.exit(1);
110.80 + }
110.81 +}
111.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
111.2 +++ b/test/sun/security/krb5/runNameEquals.sh Thu Apr 29 13:53:09 2010 -0700
111.3 @@ -0,0 +1,106 @@
111.4 +#
111.5 +# Copyright 2009-2010 Sun Microsystems, Inc. All Rights Reserved.
111.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
111.7 +#
111.8 +# This code is free software; you can redistribute it and/or modify it
111.9 +# under the terms of the GNU General Public License version 2 only, as
111.10 +# published by the Free Software Foundation.
111.11 +#
111.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
111.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
111.14 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
111.15 +# version 2 for more details (a copy is included in the LICENSE file that
111.16 +# accompanied this code).
111.17 +#
111.18 +# You should have received a copy of the GNU General Public License version
111.19 +# 2 along with this work; if not, write to the Free Software Foundation,
111.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
111.21 +#
111.22 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
111.23 +# CA 95054 USA or visit www.sun.com if you need additional information or
111.24 +# have any questions.
111.25 +#
111.26 +
111.27 +# @test
111.28 +# @bug 6317711 6944847
111.29 +# @summary Ensure the GSSName has the correct impl which respects
111.30 +# the contract for equals and hashCode across different configurations.
111.31 +
111.32 +# set a few environment variables so that the shell-script can run stand-alone
111.33 +# in the source directory
111.34 +
111.35 +if [ "${TESTSRC}" = "" ] ; then
111.36 + TESTSRC="."
111.37 +fi
111.38 +
111.39 +if [ "${TESTCLASSES}" = "" ] ; then
111.40 + TESTCLASSES="."
111.41 +fi
111.42 +
111.43 +if [ "${TESTJAVA}" = "" ] ; then
111.44 + echo "TESTJAVA not set. Test cannot execute."
111.45 + echo "FAILED!!!"
111.46 + exit 1
111.47 +fi
111.48 +
111.49 +NATIVE=false
111.50 +
111.51 +# set platform-dependent variables
111.52 +OS=`uname -s`
111.53 +case "$OS" in
111.54 + SunOS )
111.55 + PATHSEP=":"
111.56 + FILESEP="/"
111.57 + NATIVE=true
111.58 + ;;
111.59 + Linux )
111.60 + PATHSEP=":"
111.61 + FILESEP="/"
111.62 + NATIVE=true
111.63 + ;;
111.64 + CYGWIN* )
111.65 + PATHSEP=";"
111.66 + FILESEP="/"
111.67 + ;;
111.68 + Windows* )
111.69 + PATHSEP=";"
111.70 + FILESEP="\\"
111.71 + ;;
111.72 + * )
111.73 + echo "Unrecognized system!"
111.74 + exit 1;
111.75 + ;;
111.76 +esac
111.77 +
111.78 +TEST=Krb5NameEquals
111.79 +
111.80 +${TESTJAVA}${FILESEP}bin${FILESEP}javac \
111.81 + -d ${TESTCLASSES}${FILESEP} \
111.82 + ${TESTSRC}${FILESEP}${TEST}.java
111.83 +
111.84 +EXIT_STATUS=0
111.85 +
111.86 +if [ "${NATIVE}" = "true" ] ; then
111.87 + echo "Testing native provider"
111.88 + ${TESTJAVA}${FILESEP}bin${FILESEP}java \
111.89 + -classpath ${TESTCLASSES} \
111.90 + -Dsun.security.jgss.native=true \
111.91 + ${TEST}
111.92 + if [ $? != 0 ] ; then
111.93 + echo "Native provider fails"
111.94 + EXIT_STATUS=1
111.95 + fi
111.96 +fi
111.97 +
111.98 +echo "Testing java provider"
111.99 +${TESTJAVA}${FILESEP}bin${FILESEP}java \
111.100 + -classpath ${TESTCLASSES} \
111.101 + -Djava.security.krb5.realm=R \
111.102 + -Djava.security.krb5.kdc=127.0.0.1 \
111.103 + ${TEST}
111.104 +if [ $? != 0 ] ; then
111.105 + echo "Java provider fails"
111.106 + EXIT_STATUS=1
111.107 +fi
111.108 +
111.109 +exit ${EXIT_STATUS}
112.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java Thu Apr 22 16:54:34 2010 -0700
112.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java Thu Apr 29 13:53:09 2010 -0700
112.3 @@ -624,6 +624,11 @@
112.4 volatile static boolean serverReady = false;
112.5
112.6 /*
112.7 + * Is the connection ready to close?
112.8 + */
112.9 + volatile static boolean closeReady = false;
112.10 +
112.11 + /*
112.12 * Turn on SSL debugging?
112.13 */
112.14 static boolean debug = false;
112.15 @@ -652,9 +657,6 @@
112.16
112.17 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
112.18 sslSocket.setNeedClientAuth(true);
112.19 - if (sslSocket instanceof SSLSocketImpl) {
112.20 - ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
112.21 - }
112.22
112.23 PrintStream out =
112.24 new PrintStream(sslSocket.getOutputStream());
112.25 @@ -670,11 +672,14 @@
112.26 out.print("Testing\r\n");
112.27 out.flush();
112.28 } finally {
112.29 - // close the socket
112.30 - Thread.sleep(2000);
112.31 - System.out.println("Server closing socket");
112.32 - sslSocket.close();
112.33 - serverReady = false;
112.34 + // close the socket
112.35 + while (!closeReady) {
112.36 + Thread.sleep(50);
112.37 + }
112.38 +
112.39 + System.out.println("Server closing socket");
112.40 + sslSocket.close();
112.41 + serverReady = false;
112.42 }
112.43
112.44 }
112.45 @@ -704,12 +709,17 @@
112.46 URL url = new URL("https://localhost:" + serverPort+"/");
112.47 System.out.println("url is "+url.toString());
112.48
112.49 - http = (HttpsURLConnection)url.openConnection();
112.50 + try {
112.51 + http = (HttpsURLConnection)url.openConnection();
112.52
112.53 - int respCode = http.getResponseCode();
112.54 - System.out.println("respCode = "+respCode);
112.55 -
112.56 - http.disconnect();
112.57 + int respCode = http.getResponseCode();
112.58 + System.out.println("respCode = "+respCode);
112.59 + } finally {
112.60 + if (http != null) {
112.61 + http.disconnect();
112.62 + }
112.63 + closeReady = true;
112.64 + }
112.65 }
112.66
112.67 /*
113.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java Thu Apr 22 16:54:34 2010 -0700
113.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java Thu Apr 29 13:53:09 2010 -0700
113.3 @@ -61,6 +61,11 @@
113.4 volatile static boolean serverReady = false;
113.5
113.6 /*
113.7 + * Is the connection ready to close?
113.8 + */
113.9 + volatile static boolean closeReady = false;
113.10 +
113.11 + /*
113.12 * Turn on SSL debugging?
113.13 */
113.14 static boolean debug = false;
113.15 @@ -98,25 +103,34 @@
113.16 serverReady = true;
113.17
113.18 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
113.19 - InputStream sslIS = sslSocket.getInputStream();
113.20 - OutputStream sslOS = sslSocket.getOutputStream();
113.21 - BufferedReader br = new BufferedReader(new InputStreamReader(sslIS));
113.22 - PrintStream ps = new PrintStream(sslOS);
113.23 - // process HTTP POST request from client
113.24 - System.out.println("status line: "+br.readLine());
113.25 - String msg = null;
113.26 - while ((msg = br.readLine()) != null && msg.length() > 0);
113.27 + try {
113.28 + InputStream sslIS = sslSocket.getInputStream();
113.29 + OutputStream sslOS = sslSocket.getOutputStream();
113.30 + BufferedReader br =
113.31 + new BufferedReader(new InputStreamReader(sslIS));
113.32 + PrintStream ps = new PrintStream(sslOS);
113.33
113.34 - msg = br.readLine();
113.35 - if (msg.equals(postMsg)) {
113.36 - ps.println("HTTP/1.1 200 OK\n\n");
113.37 - } else {
113.38 - ps.println("HTTP/1.1 500 Not OK\n\n");
113.39 + // process HTTP POST request from client
113.40 + System.out.println("status line: "+br.readLine());
113.41 + String msg = null;
113.42 + while ((msg = br.readLine()) != null && msg.length() > 0);
113.43 +
113.44 + msg = br.readLine();
113.45 + if (msg.equals(postMsg)) {
113.46 + ps.println("HTTP/1.1 200 OK\n\n");
113.47 + } else {
113.48 + ps.println("HTTP/1.1 500 Not OK\n\n");
113.49 + }
113.50 + ps.flush();
113.51 +
113.52 + // close the socket
113.53 + while (!closeReady) {
113.54 + Thread.sleep(50);
113.55 + }
113.56 + } finally {
113.57 + sslSocket.close();
113.58 + sslServerSocket.close();
113.59 }
113.60 - ps.flush();
113.61 - Thread.sleep(2000);
113.62 - sslSocket.close();
113.63 - sslServerSocket.close();
113.64 }
113.65
113.66 /*
113.67 @@ -144,12 +158,17 @@
113.68
113.69 http.setRequestMethod("POST");
113.70 PrintStream ps = new PrintStream(http.getOutputStream());
113.71 - ps.println(postMsg);
113.72 - ps.flush();
113.73 - if (http.getResponseCode() != 200) {
113.74 - throw new RuntimeException("test Failed");
113.75 + try {
113.76 + ps.println(postMsg);
113.77 + ps.flush();
113.78 + if (http.getResponseCode() != 200) {
113.79 + throw new RuntimeException("test Failed");
113.80 + }
113.81 + } finally {
113.82 + ps.close();
113.83 + http.disconnect();
113.84 + closeReady = true;
113.85 }
113.86 - ps.close();
113.87 }
113.88
113.89 static class NameVerifier implements HostnameVerifier {
114.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java Thu Apr 22 16:54:34 2010 -0700
114.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java Thu Apr 29 13:53:09 2010 -0700
114.3 @@ -624,6 +624,11 @@
114.4 volatile static boolean serverReady = false;
114.5
114.6 /*
114.7 + * Is the connection ready to close?
114.8 + */
114.9 + volatile static boolean closeReady = false;
114.10 +
114.11 + /*
114.12 * Turn on SSL debugging?
114.13 */
114.14 static boolean debug = false;
114.15 @@ -652,9 +657,6 @@
114.16
114.17 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
114.18 sslSocket.setNeedClientAuth(true);
114.19 - if (sslSocket instanceof SSLSocketImpl) {
114.20 - ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
114.21 - }
114.22
114.23 PrintStream out =
114.24 new PrintStream(sslSocket.getOutputStream());
114.25 @@ -670,11 +672,14 @@
114.26 out.print("Testing\r\n");
114.27 out.flush();
114.28 } finally {
114.29 - // close the socket
114.30 - Thread.sleep(2000);
114.31 - System.out.println("Server closing socket");
114.32 - sslSocket.close();
114.33 - serverReady = false;
114.34 + // close the socket
114.35 + while (!closeReady) {
114.36 + Thread.sleep(50);
114.37 + }
114.38 +
114.39 + System.out.println("Server closing socket");
114.40 + sslSocket.close();
114.41 + serverReady = false;
114.42 }
114.43
114.44 }
114.45 @@ -716,7 +721,10 @@
114.46 // no subject alternative names matching IP address 127.0.0.1 found
114.47 // that's the expected exception, ignore it.
114.48 } finally {
114.49 - http.disconnect();
114.50 + if (http != null) {
114.51 + http.disconnect();
114.52 + }
114.53 + closeReady = true;
114.54 }
114.55 }
114.56
115.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java Thu Apr 22 16:54:34 2010 -0700
115.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java Thu Apr 29 13:53:09 2010 -0700
115.3 @@ -625,6 +625,11 @@
115.4 volatile static boolean serverReady = false;
115.5
115.6 /*
115.7 + * Is the connection ready to close?
115.8 + */
115.9 + volatile static boolean closeReady = false;
115.10 +
115.11 + /*
115.12 * Turn on SSL debugging?
115.13 */
115.14 static boolean debug = false;
115.15 @@ -653,9 +658,6 @@
115.16
115.17 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
115.18 sslSocket.setNeedClientAuth(true);
115.19 - if (sslSocket instanceof SSLSocketImpl) {
115.20 - ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
115.21 - }
115.22
115.23 PrintStream out =
115.24 new PrintStream(sslSocket.getOutputStream());
115.25 @@ -672,7 +674,10 @@
115.26 out.flush();
115.27 } finally {
115.28 // close the socket
115.29 - Thread.sleep(2000);
115.30 + while (!closeReady) {
115.31 + Thread.sleep(50);
115.32 + }
115.33 +
115.34 System.out.println("Server closing socket");
115.35 sslSocket.close();
115.36 serverReady = false;
115.37 @@ -705,12 +710,17 @@
115.38 URL url = new URL("https://127.0.0.1:" + serverPort+"/");
115.39 System.out.println("url is "+url.toString());
115.40
115.41 - http = (HttpsURLConnection)url.openConnection();
115.42 + try {
115.43 + http = (HttpsURLConnection)url.openConnection();
115.44
115.45 - int respCode = http.getResponseCode();
115.46 - System.out.println("respCode = "+respCode);
115.47 -
115.48 - http.disconnect();
115.49 + int respCode = http.getResponseCode();
115.50 + System.out.println("respCode = "+respCode);
115.51 + } finally {
115.52 + if (http != null) {
115.53 + http.disconnect();
115.54 + }
115.55 + closeReady = true;
115.56 + }
115.57 }
115.58
115.59 /*
116.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java Thu Apr 22 16:54:34 2010 -0700
116.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java Thu Apr 29 13:53:09 2010 -0700
116.3 @@ -625,6 +625,11 @@
116.4 volatile static boolean serverReady = false;
116.5
116.6 /*
116.7 + * Is the connection ready to close?
116.8 + */
116.9 + volatile static boolean closeReady = false;
116.10 +
116.11 + /*
116.12 * Turn on SSL debugging?
116.13 */
116.14 static boolean debug = false;
116.15 @@ -653,9 +658,6 @@
116.16
116.17 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
116.18 sslSocket.setNeedClientAuth(true);
116.19 - if (sslSocket instanceof SSLSocketImpl) {
116.20 - ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
116.21 - }
116.22
116.23 PrintStream out =
116.24 new PrintStream(sslSocket.getOutputStream());
116.25 @@ -672,7 +674,10 @@
116.26 out.flush();
116.27 } finally {
116.28 // close the socket
116.29 - Thread.sleep(2000);
116.30 + while (!closeReady) {
116.31 + Thread.sleep(50);
116.32 + }
116.33 +
116.34 System.out.println("Server closing socket");
116.35 sslSocket.close();
116.36 serverReady = false;
116.37 @@ -705,12 +710,17 @@
116.38 URL url = new URL("https://localhost:" + serverPort+"/");
116.39 System.out.println("url is "+url.toString());
116.40
116.41 - http = (HttpsURLConnection)url.openConnection();
116.42 + try {
116.43 + http = (HttpsURLConnection)url.openConnection();
116.44
116.45 - int respCode = http.getResponseCode();
116.46 - System.out.println("respCode = "+respCode);
116.47 -
116.48 - http.disconnect();
116.49 + int respCode = http.getResponseCode();
116.50 + System.out.println("respCode = "+respCode);
116.51 + } finally {
116.52 + if (http != null) {
116.53 + http.disconnect();
116.54 + }
116.55 + closeReady = true;
116.56 + }
116.57 }
116.58
116.59 /*
117.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java Thu Apr 22 16:54:34 2010 -0700
117.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java Thu Apr 29 13:53:09 2010 -0700
117.3 @@ -624,6 +624,11 @@
117.4 volatile static boolean serverReady = false;
117.5
117.6 /*
117.7 + * Is the connection ready to close?
117.8 + */
117.9 + volatile static boolean closeReady = false;
117.10 +
117.11 + /*
117.12 * Turn on SSL debugging?
117.13 */
117.14 static boolean debug = false;
117.15 @@ -652,9 +657,6 @@
117.16
117.17 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
117.18 sslSocket.setNeedClientAuth(true);
117.19 - if (sslSocket instanceof SSLSocketImpl) {
117.20 - ((SSLSocketImpl)sslSocket).trySetHostnameVerification("HTTPS");
117.21 - }
117.22
117.23 PrintStream out =
117.24 new PrintStream(sslSocket.getOutputStream());
117.25 @@ -671,7 +673,10 @@
117.26 out.flush();
117.27 } finally {
117.28 // close the socket
117.29 - Thread.sleep(2000);
117.30 + while (!closeReady) {
117.31 + Thread.sleep(50);
117.32 + }
117.33 +
117.34 System.out.println("Server closing socket");
117.35 sslSocket.close();
117.36 serverReady = false;
117.37 @@ -704,12 +709,17 @@
117.38 URL url = new URL("https://localhost:" + serverPort+"/");
117.39 System.out.println("url is "+url.toString());
117.40
117.41 - http = (HttpsURLConnection)url.openConnection();
117.42 + try {
117.43 + http = (HttpsURLConnection)url.openConnection();
117.44
117.45 - int respCode = http.getResponseCode();
117.46 - System.out.println("respCode = "+respCode);
117.47 -
117.48 - http.disconnect();
117.49 + int respCode = http.getResponseCode();
117.50 + System.out.println("respCode = "+respCode);
117.51 + } finally {
117.52 + if (http != null) {
117.53 + http.disconnect();
117.54 + }
117.55 + closeReady = true;
117.56 + }
117.57 }
117.58
117.59 /*
118.1 --- a/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java Thu Apr 22 16:54:34 2010 -0700
118.2 +++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java Thu Apr 29 13:53:09 2010 -0700
118.3 @@ -61,6 +61,11 @@
118.4 volatile static boolean serverReady = false;
118.5
118.6 /*
118.7 + * Is the connection ready to close?
118.8 + */
118.9 + volatile static boolean closeReady = false;
118.10 +
118.11 + /*
118.12 * Turn on SSL debugging?
118.13 */
118.14 static boolean debug = false;
118.15 @@ -98,24 +103,33 @@
118.16 serverReady = true;
118.17
118.18 SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
118.19 - InputStream sslIS = sslSocket.getInputStream();
118.20 - OutputStream sslOS = sslSocket.getOutputStream();
118.21 - BufferedReader br = new BufferedReader(new InputStreamReader(sslIS));
118.22 - PrintStream ps = new PrintStream(sslOS);
118.23 - // process HTTP POST request from client
118.24 - System.out.println("status line: "+br.readLine());
118.25 + try {
118.26 + InputStream sslIS = sslSocket.getInputStream();
118.27 + OutputStream sslOS = sslSocket.getOutputStream();
118.28 + BufferedReader br =
118.29 + new BufferedReader(new InputStreamReader(sslIS));
118.30 + PrintStream ps = new PrintStream(sslOS);
118.31
118.32 - ps.println("HTTP/1.1 307 Redirect");
118.33 - ps.println("Location: https://localhost:"+serverPort+"/index.html\n\n");
118.34 - ps.flush();
118.35 - sslSocket = (SSLSocket) sslServerSocket.accept();
118.36 - sslOS = sslSocket.getOutputStream();
118.37 - ps = new PrintStream(sslOS);
118.38 - ps.println("HTTP/1.1 200 Redirect succeeded\n\n");
118.39 - ps.flush();
118.40 - Thread.sleep(2000);
118.41 - sslSocket.close();
118.42 - sslServerSocket.close();
118.43 + // process HTTP POST request from client
118.44 + System.out.println("status line: "+br.readLine());
118.45 +
118.46 + ps.println("HTTP/1.1 307 Redirect");
118.47 + ps.println("Location: https://localhost:" + serverPort +
118.48 + "/index.html\n\n");
118.49 + ps.flush();
118.50 + sslSocket = (SSLSocket) sslServerSocket.accept();
118.51 + sslOS = sslSocket.getOutputStream();
118.52 + ps = new PrintStream(sslOS);
118.53 + ps.println("HTTP/1.1 200 Redirect succeeded\n\n");
118.54 + ps.flush();
118.55 + } finally {
118.56 + // close the socket
118.57 + while (!closeReady) {
118.58 + Thread.sleep(50);
118.59 + }
118.60 + sslSocket.close();
118.61 + sslServerSocket.close();
118.62 + }
118.63 }
118.64
118.65 /*
118.66 @@ -139,10 +153,14 @@
118.67 HttpsURLConnection.setDefaultHostnameVerifier(
118.68 new NameVerifier());
118.69 HttpsURLConnection http = (HttpsURLConnection)url.openConnection();
118.70 -
118.71 - System.out.println("response header: "+http.getHeaderField(0));
118.72 - if (http.getResponseCode() != 200) {
118.73 - throw new RuntimeException("test Failed");
118.74 + try {
118.75 + System.out.println("response header: "+http.getHeaderField(0));
118.76 + if (http.getResponseCode() != 200) {
118.77 + throw new RuntimeException("test Failed");
118.78 + }
118.79 + } finally {
118.80 + http.disconnect();
118.81 + closeReady = true;
118.82 }
118.83 }
118.84
119.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
119.2 +++ b/test/sun/security/tools/jarsigner/TimestampCheck.java Thu Apr 29 13:53:09 2010 -0700
119.3 @@ -0,0 +1,294 @@
119.4 +/*
119.5 + * Copyright 2003-2010 Sun Microsystems, Inc. All Rights Reserved.
119.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
119.7 + *
119.8 + * This code is free software; you can redistribute it and/or modify it
119.9 + * under the terms of the GNU General Public License version 2 only, as
119.10 + * published by the Free Software Foundation.
119.11 + *
119.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
119.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
119.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
119.15 + * version 2 for more details (a copy is included in the LICENSE file that
119.16 + * accompanied this code).
119.17 + *
119.18 + * You should have received a copy of the GNU General Public License version
119.19 + * 2 along with this work; if not, write to the Free Software Foundation,
119.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
119.21 + *
119.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
119.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
119.24 + * have any questions.
119.25 + */
119.26 +
119.27 +import com.sun.net.httpserver.*;
119.28 +import java.io.BufferedReader;
119.29 +import java.io.ByteArrayOutputStream;
119.30 +import java.io.File;
119.31 +import java.io.FileInputStream;
119.32 +import java.io.FileOutputStream;
119.33 +import java.io.IOException;
119.34 +import java.io.InputStreamReader;
119.35 +import java.io.OutputStream;
119.36 +import java.math.BigInteger;
119.37 +import java.net.InetSocketAddress;
119.38 +import java.security.KeyStore;
119.39 +import java.security.PrivateKey;
119.40 +import java.security.Signature;
119.41 +import java.security.cert.Certificate;
119.42 +import java.security.cert.X509Certificate;
119.43 +import java.util.Calendar;
119.44 +import sun.security.pkcs.ContentInfo;
119.45 +import sun.security.pkcs.PKCS7;
119.46 +import sun.security.pkcs.SignerInfo;
119.47 +import sun.security.util.DerOutputStream;
119.48 +import sun.security.util.DerValue;
119.49 +import sun.security.util.ObjectIdentifier;
119.50 +import sun.security.x509.AlgorithmId;
119.51 +import sun.security.x509.X500Name;
119.52 +
119.53 +public class TimestampCheck {
119.54 + static final String TSKS = "tsks";
119.55 + static final String JAR = "old.jar";
119.56 +
119.57 + static class Handler implements HttpHandler {
119.58 + public void handle(HttpExchange t) throws IOException {
119.59 + int len = 0;
119.60 + for (String h: t.getRequestHeaders().keySet()) {
119.61 + if (h.equalsIgnoreCase("Content-length")) {
119.62 + len = Integer.valueOf(t.getRequestHeaders().get(h).get(0));
119.63 + }
119.64 + }
119.65 + byte[] input = new byte[len];
119.66 + t.getRequestBody().read(input);
119.67 +
119.68 + try {
119.69 + int path = 0;
119.70 + if (t.getRequestURI().getPath().length() > 1) {
119.71 + path = Integer.parseInt(
119.72 + t.getRequestURI().getPath().substring(1));
119.73 + }
119.74 + byte[] output = sign(input, path);
119.75 + Headers out = t.getResponseHeaders();
119.76 + out.set("Content-Type", "application/timestamp-reply");
119.77 +
119.78 + t.sendResponseHeaders(200, output.length);
119.79 + OutputStream os = t.getResponseBody();
119.80 + os.write(output);
119.81 + } catch (Exception e) {
119.82 + e.printStackTrace();
119.83 + t.sendResponseHeaders(500, 0);
119.84 + }
119.85 + t.close();
119.86 + }
119.87 +
119.88 + /**
119.89 + * @param input The data to sign
119.90 + * @param path different cases to simulate, impl on URL path
119.91 + * 0: normal
119.92 + * 1: Missing nonce
119.93 + * 2: Different nonce
119.94 + * 3: Bad digets octets in messageImprint
119.95 + * 4: Different algorithmId in messageImprint
119.96 + * 5: whole chain in cert set
119.97 + * 6: extension is missing
119.98 + * 7: extension is non-critical
119.99 + * 8: extension does not have timestamping
119.100 + * @returns the signed
119.101 + */
119.102 + byte[] sign(byte[] input, int path) throws Exception {
119.103 + // Read TSRequest
119.104 + DerValue value = new DerValue(input);
119.105 + System.err.println("\nIncoming Request\n===================");
119.106 + System.err.println("Version: " + value.data.getInteger());
119.107 + DerValue messageImprint = value.data.getDerValue();
119.108 + AlgorithmId aid = AlgorithmId.parse(
119.109 + messageImprint.data.getDerValue());
119.110 + System.err.println("AlgorithmId: " + aid);
119.111 +
119.112 + BigInteger nonce = null;
119.113 + while (value.data.available() > 0) {
119.114 + DerValue v = value.data.getDerValue();
119.115 + if (v.tag == DerValue.tag_Integer) {
119.116 + nonce = v.getBigInteger();
119.117 + System.err.println("nonce: " + nonce);
119.118 + } else if (v.tag == DerValue.tag_Boolean) {
119.119 + System.err.println("certReq: " + v.getBoolean());
119.120 + }
119.121 + }
119.122 +
119.123 + // Write TSResponse
119.124 + System.err.println("\nResponse\n===================");
119.125 + KeyStore ks = KeyStore.getInstance("JKS");
119.126 + ks.load(new FileInputStream(TSKS), "changeit".toCharArray());
119.127 +
119.128 + String alias = "ts";
119.129 + if (path == 6) alias = "tsbad1";
119.130 + if (path == 7) alias = "tsbad2";
119.131 + if (path == 8) alias = "tsbad3";
119.132 +
119.133 + DerOutputStream statusInfo = new DerOutputStream();
119.134 + statusInfo.putInteger(0);
119.135 +
119.136 + DerOutputStream token = new DerOutputStream();
119.137 + AlgorithmId[] algorithms = {aid};
119.138 + Certificate[] chain = ks.getCertificateChain(alias);
119.139 + X509Certificate[] signerCertificateChain = null;
119.140 + X509Certificate signer = (X509Certificate)chain[0];
119.141 + if (path == 5) { // Only case 5 uses full chain
119.142 + signerCertificateChain = new X509Certificate[chain.length];
119.143 + for (int i=0; i<chain.length; i++) {
119.144 + signerCertificateChain[i] = (X509Certificate)chain[i];
119.145 + }
119.146 + } else if (path == 9) {
119.147 + signerCertificateChain = new X509Certificate[0];
119.148 + } else {
119.149 + signerCertificateChain = new X509Certificate[1];
119.150 + signerCertificateChain[0] = (X509Certificate)chain[0];
119.151 + }
119.152 +
119.153 + DerOutputStream tst = new DerOutputStream();
119.154 +
119.155 + tst.putInteger(1);
119.156 + tst.putOID(new ObjectIdentifier("1.2.3.4")); // policy
119.157 +
119.158 + if (path != 3 && path != 4) {
119.159 + tst.putDerValue(messageImprint);
119.160 + } else {
119.161 + byte[] data = messageImprint.toByteArray();
119.162 + if (path == 4) {
119.163 + data[6] = (byte)0x01;
119.164 + } else {
119.165 + data[data.length-1] = (byte)0x01;
119.166 + data[data.length-2] = (byte)0x02;
119.167 + data[data.length-3] = (byte)0x03;
119.168 + }
119.169 + tst.write(data);
119.170 + }
119.171 +
119.172 + tst.putInteger(1);
119.173 +
119.174 + Calendar cal = Calendar.getInstance();
119.175 + tst.putGeneralizedTime(cal.getTime());
119.176 +
119.177 + if (path == 2) {
119.178 + tst.putInteger(1234);
119.179 + } else if (path == 1) {
119.180 + // do nothing
119.181 + } else {
119.182 + tst.putInteger(nonce);
119.183 + }
119.184 +
119.185 + DerOutputStream tstInfo = new DerOutputStream();
119.186 + tstInfo.write(DerValue.tag_Sequence, tst);
119.187 +
119.188 + DerOutputStream tstInfo2 = new DerOutputStream();
119.189 + tstInfo2.putOctetString(tstInfo.toByteArray());
119.190 +
119.191 + Signature sig = Signature.getInstance("SHA1withDSA");
119.192 + sig.initSign((PrivateKey)(ks.getKey(
119.193 + alias, "changeit".toCharArray())));
119.194 + sig.update(tstInfo.toByteArray());
119.195 +
119.196 + ContentInfo contentInfo = new ContentInfo(new ObjectIdentifier(
119.197 + "1.2.840.113549.1.9.16.1.4"),
119.198 + new DerValue(tstInfo2.toByteArray()));
119.199 +
119.200 + System.err.println("Signing...");
119.201 + System.err.println(new X500Name(signer
119.202 + .getIssuerX500Principal().getName()));
119.203 + System.err.println(signer.getSerialNumber());
119.204 +
119.205 + SignerInfo signerInfo = new SignerInfo(
119.206 + new X500Name(signer.getIssuerX500Principal().getName()),
119.207 + signer.getSerialNumber(),
119.208 + aid, AlgorithmId.get("DSA"), sig.sign());
119.209 +
119.210 + SignerInfo[] signerInfos = {signerInfo};
119.211 + PKCS7 p7 =
119.212 + new PKCS7(algorithms, contentInfo, signerCertificateChain,
119.213 + signerInfos);
119.214 + ByteArrayOutputStream p7out = new ByteArrayOutputStream();
119.215 + p7.encodeSignedData(p7out);
119.216 +
119.217 + DerOutputStream response = new DerOutputStream();
119.218 + response.write(DerValue.tag_Sequence, statusInfo);
119.219 + response.putDerValue(new DerValue(p7out.toByteArray()));
119.220 +
119.221 + DerOutputStream out = new DerOutputStream();
119.222 + out.write(DerValue.tag_Sequence, response);
119.223 +
119.224 + return out.toByteArray();
119.225 + }
119.226 + }
119.227 +
119.228 + public static void main(String[] args) throws Exception {
119.229 +
119.230 + Handler h = new Handler();
119.231 + HttpServer server = HttpServer.create(new InetSocketAddress(0), 0);
119.232 + int port = server.getAddress().getPort();
119.233 + HttpContext ctx = server.createContext("/", h);
119.234 + server.start();
119.235 +
119.236 + String cmd = null;
119.237 + // Use -J-Djava.security.egd=file:/dev/./urandom to speed up
119.238 + // nonce generation in timestamping request. Not avaibale on
119.239 + // Windows and defaults to thread seed generator, not too bad.
119.240 + if (System.getProperty("java.home").endsWith("jre")) {
119.241 + cmd = System.getProperty("java.home") + "/../bin/jarsigner" +
119.242 + " -J-Djava.security.egd=file:/dev/./urandom" +
119.243 + " -debug -keystore " + TSKS + " -storepass changeit" +
119.244 + " -tsa http://localhost:" + port + "/%d" +
119.245 + " -signedjar new.jar " + JAR + " old";
119.246 + } else {
119.247 + cmd = System.getProperty("java.home") + "/bin/jarsigner" +
119.248 + " -J-Djava.security.egd=file:/dev/./urandom" +
119.249 + " -debug -keystore " + TSKS + " -storepass changeit" +
119.250 + " -tsa http://localhost:" + port + "/%d" +
119.251 + " -signedjar new.jar " + JAR + " old";
119.252 + }
119.253 +
119.254 + try {
119.255 + if (args.length == 0) { // Run this test
119.256 + jarsigner(cmd, 0, true); // Success, normal call
119.257 + jarsigner(cmd, 1, false); // These 4 should fail
119.258 + jarsigner(cmd, 2, false);
119.259 + jarsigner(cmd, 3, false);
119.260 + jarsigner(cmd, 4, false);
119.261 + jarsigner(cmd, 5, true); // Success, 6543440 solved.
119.262 + jarsigner(cmd, 6, false); // tsbad1
119.263 + jarsigner(cmd, 7, false); // tsbad2
119.264 + jarsigner(cmd, 8, false); // tsbad3
119.265 + jarsigner(cmd, 9, false); // no cert in timestamp
119.266 + } else { // Run as a standalone server
119.267 + System.err.println("Press Enter to quit server");
119.268 + System.in.read();
119.269 + }
119.270 + } finally {
119.271 + server.stop(0);
119.272 + new File("x.jar").delete();
119.273 + }
119.274 + }
119.275 +
119.276 + /**
119.277 + * @param cmd the command line (with a hole to plug in)
119.278 + * @param path the path in the URL, i.e, http://localhost/path
119.279 + * @param expected if this command should succeed
119.280 + */
119.281 + static void jarsigner(String cmd, int path, boolean expected)
119.282 + throws Exception {
119.283 + System.err.println("Test " + path);
119.284 + Process p = Runtime.getRuntime().exec(String.format(cmd, path));
119.285 + BufferedReader reader = new BufferedReader(
119.286 + new InputStreamReader(p.getErrorStream()));
119.287 + while (true) {
119.288 + String s = reader.readLine();
119.289 + if (s == null) break;
119.290 + System.err.println(s);
119.291 + }
119.292 + int result = p.waitFor();
119.293 + if (expected && result != 0 || !expected && result == 0) {
119.294 + throw new Exception("Failed");
119.295 + }
119.296 + }
119.297 +}
120.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
120.2 +++ b/test/sun/security/tools/jarsigner/ts.sh Thu Apr 29 13:53:09 2010 -0700
120.3 @@ -0,0 +1,91 @@
120.4 +#
120.5 +# Copyright 2007-2010 Sun Microsystems, Inc. All Rights Reserved.
120.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
120.7 +#
120.8 +# This code is free software; you can redistribute it and/or modify it
120.9 +# under the terms of the GNU General Public License version 2 only, as
120.10 +# published by the Free Software Foundation.
120.11 +#
120.12 +# This code is distributed in the hope that it will be useful, but WITHOUT
120.13 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
120.14 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
120.15 +# version 2 for more details (a copy is included in the LICENSE file that
120.16 +# accompanied this code).
120.17 +#
120.18 +# You should have received a copy of the GNU General Public License version
120.19 +# 2 along with this work; if not, write to the Free Software Foundation,
120.20 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
120.21 +#
120.22 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
120.23 +# CA 95054 USA or visit www.sun.com if you need additional information or
120.24 +# have any questions.
120.25 +#
120.26 +
120.27 +# @test
120.28 +# @bug 6543842 6543440 6939248
120.29 +# @summary checking response of timestamp
120.30 +#
120.31 +# @run shell/timeout=600 ts.sh
120.32 +
120.33 +# Run for a long time because jarsigner with timestamp needs to create a
120.34 +# 64-bit random number and it might be extremely slow on a machine with
120.35 +# not enough entropy pool
120.36 +
120.37 +# set platform-dependent variables
120.38 +OS=`uname -s`
120.39 +case "$OS" in
120.40 + Windows_* )
120.41 + FS="\\"
120.42 + ;;
120.43 + * )
120.44 + FS="/"
120.45 + ;;
120.46 +esac
120.47 +
120.48 +if [ "${TESTSRC}" = "" ] ; then
120.49 + TESTSRC="."
120.50 +fi
120.51 +if [ "${TESTJAVA}" = "" ] ; then
120.52 + JAVAC_CMD=`which javac`
120.53 + TESTJAVA=`dirname $JAVAC_CMD`/..
120.54 +fi
120.55 +
120.56 +JAR="${TESTJAVA}${FS}bin${FS}jar"
120.57 +JAVA="${TESTJAVA}${FS}bin${FS}java"
120.58 +JAVAC="${TESTJAVA}${FS}bin${FS}javac"
120.59 +KT="${TESTJAVA}${FS}bin${FS}keytool -keystore tsks -storepass changeit -keypass changeit"
120.60 +
120.61 +rm tsks
120.62 +echo Nothing > A
120.63 +rm old.jar
120.64 +$JAR cvf old.jar A
120.65 +
120.66 +# ca is CA
120.67 +# old is signer for code
120.68 +# ts is signer for timestamp
120.69 +# tsbad1 has no extendedKeyUsage
120.70 +# tsbad2's extendedKeyUsage is non-critical
120.71 +# tsbad3's extendedKeyUsage has no timestamping
120.72 +
120.73 +$KT -alias ca -genkeypair -ext bc -dname CN=CA
120.74 +$KT -alias old -genkeypair -dname CN=old
120.75 +$KT -alias ts -genkeypair -dname CN=ts
120.76 +$KT -alias tsbad1 -genkeypair -dname CN=tsbad1
120.77 +$KT -alias tsbad2 -genkeypair -dname CN=tsbad2
120.78 +$KT -alias tsbad3 -genkeypair -dname CN=tsbad3
120.79 +$KT -alias ts -certreq | \
120.80 + $KT -alias ca -gencert -ext eku:critical=ts | \
120.81 + $KT -alias ts -importcert
120.82 +$KT -alias tsbad1 -certreq | \
120.83 + $KT -alias ca -gencert | \
120.84 + $KT -alias tsbad1 -importcert
120.85 +$KT -alias tsbad2 -certreq | \
120.86 + $KT -alias ca -gencert -ext eku=ts | \
120.87 + $KT -alias tsbad2 -importcert
120.88 +$KT -alias tsbad3 -certreq | \
120.89 + $KT -alias ca -gencert -ext eku:critical=cs | \
120.90 + $KT -alias tsbad3 -importcert
120.91 +
120.92 +$JAVAC -d . ${TESTSRC}/TimestampCheck.java
120.93 +$JAVA TimestampCheck
120.94 +
121.1 --- a/test/sun/security/tools/keytool/selfissued.sh Thu Apr 22 16:54:34 2010 -0700
121.2 +++ b/test/sun/security/tools/keytool/selfissued.sh Thu Apr 29 13:53:09 2010 -0700
121.3 @@ -1,5 +1,5 @@
121.4 #
121.5 -# Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
121.6 +# Copyright 2009-2010 Sun Microsystems, Inc. All Rights Reserved.
121.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
121.8 #
121.9 # This code is free software; you can redistribute it and/or modify it
121.10 @@ -22,8 +22,8 @@
121.11 #
121.12
121.13 # @test
121.14 -# @bug 6825352
121.15 -# @summary support self-issued certificate in keytool
121.16 +# @bug 6825352 6937978
121.17 +# @summary support self-issued certificate in keytool and let -gencert generate the chain
121.18 #
121.19 # @run shell selfissued.sh
121.20 #
121.21 @@ -50,20 +50,22 @@
121.22 rm $KS
121.23
121.24 $KT -alias ca -dname CN=CA -genkeypair
121.25 -$KT -alias me -dname CN=CA -genkeypair
121.26 +$KT -alias ca1 -dname CN=CA -genkeypair
121.27 +$KT -alias ca2 -dname CN=CA -genkeypair
121.28 $KT -alias e1 -dname CN=E1 -genkeypair
121.29 -$KT -alias e2 -dname CN=E2 -genkeypair
121.30
121.31 -# me signed by ca, self-issued
121.32 -$KT -alias me -certreq | $KT -alias ca -gencert | $KT -alias me -importcert
121.33 +# ca signs ca1, ca1 signs ca2, all self-issued
121.34 +$KT -alias ca1 -certreq | $KT -alias ca -gencert -ext san=dns:ca1 \
121.35 + | $KT -alias ca1 -importcert
121.36 +$KT -alias ca2 -certreq | $KT -alias ca1 -gencert -ext san=dns:ca2 \
121.37 + | $KT -alias ca2 -importcert
121.38
121.39 -# Import e1 signed by me, should add me and ca
121.40 -$KT -alias e1 -certreq | $KT -alias me -gencert | $KT -alias e1 -importcert
121.41 +# Import e1 signed by ca2, should add ca2 and ca1, at least 3 certs in the chain
121.42 +$KT -alias e1 -certreq | $KT -alias ca2 -gencert > e1.cert
121.43 +$KT -alias ca1 -delete
121.44 +$KT -alias ca2 -delete
121.45 +cat e1.cert | $KT -alias e1 -importcert
121.46 $KT -alias e1 -list -v | grep '\[3\]' || { echo Bad E1; exit 1; }
121.47
121.48 -# Import (e2 signed by me,ca,me), should reorder to (e2,me,ca)
121.49 -( $KT -alias e2 -certreq | $KT -alias me -gencert; $KT -exportcert -alias ca; $KT -exportcert -alias me ) | $KT -alias e2 -importcert
121.50 -$KT -alias e2 -list -v | grep '\[3\]' || { echo Bad E2; exit 1; }
121.51 -
121.52 echo Good
121.53
122.1 --- a/test/sun/text/resources/LocaleData Thu Apr 22 16:54:34 2010 -0700
122.2 +++ b/test/sun/text/resources/LocaleData Thu Apr 29 13:53:09 2010 -0700
122.3 @@ -673,8 +673,8 @@
122.4 FormatData/es_VE/NumberElements/1=.
122.5 FormatData/es_VE/NumberElements/2=;
122.6
122.7 -# bug #4099810, 4290801, 6868106
122.8 -CurrencyNames/uk_UA/UAH=\u0433\u0440\u043b.
122.9 +# bug #4099810, 4290801, 6868106, 6916787
122.10 +CurrencyNames/uk_UA/UAH=\u0433\u0440\u043d.
122.11 FormatData/uk_UA/NumberPatterns/0=#,##0.###;-#,##0.###
122.12 # FormatData/uk_UA/NumberPatterns/1=#,##0.## '\u0433\u0440\u0432.';-#,##0.## '\u0433\u0440\u0432.' # Changed; see bug 4122840
122.13 FormatData/uk_UA/NumberPatterns/2=#,##0%
122.14 @@ -6098,3 +6098,6 @@
122.15 LocaleNames/nl/YT=Mayotte
122.16 LocaleNames/nl/ZA=Zuid-Afrika
122.17 LocaleNames/nl/ZM=Zambia
122.18 +
122.19 +# bug 6919624
122.20 +CalendarData/hu/minimalDaysInFirstWeek=4
123.1 --- a/test/sun/text/resources/LocaleDataTest.java Thu Apr 22 16:54:34 2010 -0700
123.2 +++ b/test/sun/text/resources/LocaleDataTest.java Thu Apr 29 13:53:09 2010 -0700
123.3 @@ -32,7 +32,8 @@
123.4 * 6414459 6455680 6498742 6558863 6488119 6547501 6497154 6558856 6481177
123.5 * 6379214 6485516 6486607 4225362 4494727 6533691 6531591 6531593 6570259
123.6 * 6509039 6609737 6610748 6645271 6507067 6873931 6450945 6645268 6646611
123.7 - * 6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413
123.8 + * 6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
123.9 + * 6919624
123.10 * @summary Verify locale data
123.11 *
123.12 */
124.1 --- a/test/sun/util/resources/TimeZone/Bug6317929.java Thu Apr 22 16:54:34 2010 -0700
124.2 +++ b/test/sun/util/resources/TimeZone/Bug6317929.java Thu Apr 29 13:53:09 2010 -0700
124.3 @@ -180,11 +180,11 @@
124.4 "(\ub274 \uc0ac\uc6b0\uc2a4 \uc6e8\uc77c\uc988)\"");
124.5 tzLocale = locales2Test[7];
124.6 if (!Currie.getDisplayName(false, TimeZone.LONG, tzLocale).equals
124.7 - ("Eastern Standard Time (Nya Sydwales)"))
124.8 + ("Eastern, normaltid (Nya Sydwales)"))
124.9 throw new RuntimeException("\n" + tzLocale + ": LONG, " +
124.10 "non-daylight saving name for " +
124.11 "Australia/Currie should be " +
124.12 - "\"Eastern Standard Time " +
124.13 + "\"Eastern, normaltid " +
124.14 "(Nya Sydwales)\"");
124.15 tzLocale = locales2Test[8];
124.16 if (!Currie.getDisplayName(false, TimeZone.LONG, tzLocale).equals