Author: markt
Date: Wed Jan 27 14:38:01 2016
New Revision: 1727066
URL: http://svn.apache.org/viewvc?rev=1727066&view=rev
Log:
Port clean-up (to make merging simpler) prior to back-porting functional changes
Additional generics clean-up
Additional resource closing fixes
Modified:
tomcat/tc6.0.x/trunk/ (props changed)
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/FileStore.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/JDBCStore.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/ManagerBase.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardManager.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardSessionFacade.java
Propchange: tomcat/tc6.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jan 27 14:38:01 2016
@@ -1,3 +1,3 @@
-/tomcat/tc7.0.x/trunk:1190476,1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1348992,1354866,1371298,1371302,1371620,1402110,1409014,1413553,1413557,1413563,1430083,1438415,1446641-1446660,1447013,1453106,1453119,1484919,1486877,1500065,1503852,1505844,1513151,1521040,1526470,1536524,1539176-1539177,1544469,1544473,1552805,1558894,1558917,1561368,1561382,1561386,1561552,1561561,1561636,1561641,1561643,1561737,1562748,1564317,1568922,1570163,1577328,1577464-1577465,1578814,1586659,1586897,1586960,1588199,1588997,1589740,1589851,1589997,1590019,1590028,1590337,1590492,1590651,1590838,1590845,1590848,1590912,1593262,1593288,1593371,1593835,1594230,1595174,1595366,1600956,1601333,1601856,1601909,1609079,1609606,1617364,1617374,1617433,1617457-1617458,1624249,1626579,1627420,1627469,1632586,1637686,1637711,1640675,1642045,1643515,1643540,1643572,1643585-1643586,1643642,1643647,1644019,1648817,1656301,1658815,1659523,1659564,1664001,1664176,1665087,1666968,1666989
,1668541,1668635,1669802,1676557,1681183,1681841,1681865,1681867,1685829,1693109,1694293,1694433,1694875,1696381,1701945,1710353,1712656,1713873,1714000,1714005,1714540,1715213,1716221,1716417,1717107,1717210,1717212,1720236,1720398,1720443,1720464,1721814,1721883,1722645,1722801,1723151,1724435,1724553,1724675,1724797,1724806,1725931,1726631,1727043
-/tomcat/tc8.0.x/trunk:1637685,1637709,1640674,1641726,1641729-1641730,1643513,1643539,1643571,1643581-1643582,1644018,1648816,1656300,1658801-1658803,1658811,1659522,1663997,1664175,1665086,1666967,1666988,1668634,1669801,1676556,1681182,1681840,1681864,1685827,1689921,1693108,1694291,1694427,1694873,1696379,1701944,1710347,1712618,1712655,1713872,1713998,1714004,1714538,1715207,1716216-1716217,1716414,1717208-1717209,1720235,1720396,1720442,1720463,1721813,1721882,1722800,1723130,1724434,1724674,1724792,1724803,1725929,1726630,1727037
-/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,656018,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770
809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,890139,890265
,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907727,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841,946686,94
8057,950164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073184,1073393,1075458,1076212,1078409,1078412,1079801,1081118,1081334,1088179,1088460,1090022,1
094069,1094089,1095138,1097899,1099575,1099586,1099772,1099789,1100145,1100822,1101094,1101144,1124680,1130774,1133014,1137862,1137996,1138950,1138953,1139280,1140693,1141104,1141441,1142043,1142904,1143134,1143150,1145137,1148216,1148471,1152601,1156171,1156519,1164567,1167394,1172233-1172234,1172236,1173614,1174353,1174882,1174884,1175158,1175190,1176799,1177125,1177245,1177850,1177862,1178228,1178233,1178684,1181028,1181136,1184917,1184919,1185200,1185588,1186011,1186104,1186123,1186137,1186153,1186378,1186712,1186763,1186949,1187381,1189240,1189386,1190388-1190389,1190474,1198622,1201576,1203091,1224801,1233426,1243034,1243038,1244567,1298140,1298628-1298629,1304468,1311997,1331766,1333161,1333173,1342498,1342503,1348425,1348461-1348495,1348989,1350294,1351056,1351636-1351640,1352011,1354685,1354847,1354856,1356125,1359981,1371283,1409007,1413552,1413556,1413562,1417282,1430079,1430481,1430567,1435606,1435636,1435642,1438411,1439054,1441348,1446640,1446650,1447012,1453105,145311
2,1456666-1456678,1456713,1456721,1457968,1460342,1460533,1484862,1486875,1492570,1494143,1500062,1503851,1505843,1513148-1513149,1526469,1533312,1536520,1539157,1539173,1540374,1552804,1555163,1558811,1561054-1561065,1561067-1561070,1561072-1561075,1561083,1561190-1561192,1561635,1561640,1561732,1562742,1562746,1564309,1564312,1568921,1574004,1577315,1577324,1577463,1578812-1578813,1586658,1586894,1586959,1588193,1588197,1589737-1589738,1589763,1589837,1589842,1589980,1590018,1590302,1590646,1590648,1590835,1590842,1590911,1593259,1593261,1593335,1593834,1594229,1595171,1595289,1597532,1600955,1600963,1600978,1600984,1601329-1601330,1601332,1601855,1608963,1609061,1609593,1617362,1617365,1617383,1617456,1623392,1624247,1626579,1627033,1628978,1631155,1631520,1632584,1634117,1634130,1637684,1637695,1640655-1640658,1641656,1641660,1641692,1641707-1641718,1641721-1641722,1642564,1642606,1643045,1643054,1643570,1644017,1648815,1656299,1658799,1658802,1659521,1663995,1664174,1665085,166
6966,1666985,1668630,1669800,1676552,1681837-1681838,1681854,1685826,1687242,1689918,1693105,1694290,1694872,1696378,1701940,1710346,1712617,1712654,1713871,1713997,1714002,1715188,1715206,1716213-1716214,1716413,1716640,1716856,1716858,1716881-1716882,1716886,1716894,1720234,1720394,1720439,1720462,1721812,1721881,1722532,1722799,1723127,1724427,1724433,1724673,1724788,1725926,1726628,1726676
+/tomcat/tc7.0.x/trunk:1190476,1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1348992,1354866,1371298,1371302,1371620,1402110,1409014,1413553,1413557,1413563,1430083,1438415,1446641-1446660,1447013,1453106,1453119,1484919,1486877,1500065,1503852,1505844,1513151,1521040,1526470,1536524,1539176-1539177,1544469,1544473,1552805,1558894,1558917,1561368,1561382,1561386,1561552,1561561,1561636,1561641,1561643,1561737,1562748,1564317,1568922,1570163,1577328,1577464-1577465,1578814,1586659,1586897,1586960,1588199,1588997,1589740,1589851,1589997,1590019,1590028,1590337,1590492,1590651,1590838,1590845,1590848,1590912,1593262,1593288,1593371,1593835,1594230,1595174,1595366,1600956,1601333,1601856,1601909,1609079,1609606,1617364,1617374,1617433,1617457-1617458,1624249,1626579,1627420,1627469,1632586,1637686,1637711,1640675,1642045,1643515,1643540,1643572,1643585-1643586,1643642,1643647,1644019,1648817,1656301,1658815,1659523,1659564,1664001,1664176,1665087,1666968,1666989
,1668541,1668635,1669802,1676557,1681183,1681841,1681865,1681867,1685829,1693109,1694293,1694433,1694875,1696381,1701945,1710353,1712656,1713873,1714000,1714005,1714540,1715213,1716221,1716417,1717107,1717210,1717212,1720236,1720398,1720443,1720464,1721814,1721883,1722645,1722801,1723151,1724435,1724553,1724675,1724797,1724806,1725931,1726631,1726808,1727043
+/tomcat/tc8.0.x/trunk:1637685,1637709,1640674,1641726,1641729-1641730,1643513,1643539,1643571,1643581-1643582,1644018,1648816,1656300,1658801-1658803,1658811,1659522,1663997,1664175,1665086,1666967,1666988,1668634,1669801,1676556,1681182,1681840,1681864,1685827,1689921,1693108,1694291,1694427,1694873,1696379,1701944,1710347,1712618,1712655,1713872,1713998,1714004,1714538,1715207,1716216-1716217,1716414,1717208-1717209,1720235,1720396,1720442,1720463,1721813,1721882,1722800,1723130,1724434,1724674,1724792,1724803,1725929,1725963,1726630,1727037
+/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,656018,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770
809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,890139,890265
,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907727,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841,946686,94
8057,950164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073184,1073393,1075458,1076212,1078409,1078412,1079801,1081118,1081334,1088179,1088460,1090022,1
094069,1094089,1095138,1097899,1099575,1099586,1099772,1099789,1100145,1100822,1101094,1101144,1124680,1130774,1133014,1137862,1137996,1138950,1138953,1139280,1140693,1141104,1141441,1142043,1142904,1143134,1143150,1145137,1148216,1148471,1152601,1156171,1156519,1164567,1167394,1172233-1172234,1172236,1173614,1174353,1174882,1174884,1175158,1175190,1176799,1177125,1177245,1177850,1177862,1178228,1178233,1178684,1181028,1181136,1184917,1184919,1185200,1185588,1186011,1186104,1186123,1186137,1186153,1186378,1186712,1186763,1186949,1187381,1189240,1189386,1190388-1190389,1190474,1198622,1201576,1203091,1224801,1233426,1243034,1243038,1244567,1298140,1298628-1298629,1304468,1311997,1331766,1333161,1333173,1342498,1342503,1348425,1348461-1348495,1348989,1350294,1351056,1351636-1351640,1352011,1354685,1354847,1354856,1356125,1359981,1371283,1409007,1413552,1413556,1413562,1417282,1430079,1430481,1430567,1435606,1435636,1435642,1438411,1439054,1441348,1446640,1446650,1447012,1453105,145311
2,1456666-1456678,1456713,1456721,1457968,1460342,1460533,1484862,1486875,1492570,1494143,1500062,1503851,1505843,1513148-1513149,1526469,1533312,1536520,1539157,1539173,1540374,1552804,1555163,1558811,1561054-1561065,1561067-1561070,1561072-1561075,1561083,1561190-1561192,1561635,1561640,1561732,1562742,1562746,1564309,1564312,1568921,1574004,1577315,1577324,1577463,1578812-1578813,1586658,1586894,1586959,1588193,1588197,1589737-1589738,1589763,1589837,1589842,1589980,1590018,1590302,1590646,1590648,1590835,1590842,1590911,1593259,1593261,1593335,1593834,1594229,1595171,1595289,1597532,1600955,1600963,1600978,1600984,1601329-1601330,1601332,1601855,1608963,1609061,1609593,1617362,1617365,1617383,1617456,1623392,1624247,1626579,1627033,1628978,1631155,1631520,1632584,1634117,1634130,1637684,1637695,1640655-1640658,1641656,1641660,1641692,1641707-1641718,1641721-1641722,1642564,1642606,1643045,1643054,1643570,1644017,1648815,1656299,1658799,1658802,1659521,1663995,1664174,1665085,166
6966,1666985,1668630,1669800,1676552,1681837-1681838,1681854,1685826,1687242,1689918,1693105,1694290,1694872,1696378,1701940,1710346,1712617,1712654,1713871,1713997,1714002,1715188,1715206,1716213-1716214,1716413,1716640,1716856,1716858,1716881-1716882,1716886,1716894,1720234,1720394,1720439,1720462,1721812,1721881,1722532,1722799,1722807,1722824,1722828-1722829,1723127,1724427,1724433,1724673,1724788,1725926,1726628,1726676
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/FileStore.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/FileStore.java?rev=1727066&r1=1727065&r2=1727066&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/FileStore.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/FileStore.java Wed
Jan 27 14:38:01 2016
@@ -14,11 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.catalina.session;
-
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -37,26 +34,19 @@ import org.apache.catalina.Context;
import org.apache.catalina.Globals;
import org.apache.catalina.Loader;
import org.apache.catalina.Session;
-import org.apache.catalina.Store;
import org.apache.catalina.util.CustomObjectInputStream;
-
/**
* Concrete implementation of the <b>Store</b> interface that utilizes
* a file per saved Session in a configured directory. Sessions that are
* saved are still subject to being expired based on inactivity.
*
* @author Craig R. McClanahan
- *
*/
-
-public final class FileStore
- extends StoreBase implements Store {
-
+public final class FileStore extends StoreBase {
// ----------------------------------------------------- Constants
-
/**
* The extension to use for serialized session filenames.
*/
@@ -65,7 +55,6 @@ public final class FileStore
// ----------------------------------------------------- Instance Variables
-
/**
* The pathname of the directory in which Sessions are stored.
* This may be an absolute pathname, or a relative path that is
@@ -98,14 +87,11 @@ public final class FileStore
// ------------------------------------------------------------- Properties
-
/**
- * Return the directory path for this Store.
+ * @return The directory path for this Store.
*/
public String getDirectory() {
-
- return (directory);
-
+ return directory;
}
@@ -115,39 +101,32 @@ public final class FileStore
* @param path The new directory path
*/
public void setDirectory(String path) {
-
String oldDirectory = this.directory;
this.directory = path;
this.directoryFile = null;
- support.firePropertyChange("directory", oldDirectory,
- this.directory);
-
+ support.firePropertyChange("directory", oldDirectory, this.directory);
}
- /**
- * Return descriptive information about this Store implementation and
- * the corresponding version number, in the format
- * <code><description>/<version></code>.
- */
+ @Override
public String getInfo() {
-
- return (info);
-
+ return info;
}
+
/**
- * Return the thread name for this Store.
+ * @return The thread name for this Store.
*/
public String getThreadName() {
- return(threadName);
+ return threadName;
}
/**
* Return the name for this Store, used for logging.
*/
+ @Override
public String getStoreName() {
- return(storeName);
+ return storeName;
}
@@ -157,7 +136,6 @@ public final class FileStore
* @exception IOException if an input/output error occurs
*/
public int getSize() throws IOException {
-
// Acquire the list of files in our storage directory
File file = directory();
if (file == null) {
@@ -175,26 +153,21 @@ public final class FileStore
}
}
return keycount;
-
}
// --------------------------------------------------------- Public Methods
-
/**
* Remove all of the Sessions in this Store.
*
* @exception IOException if an input/output error occurs
*/
- public void clear()
- throws IOException {
-
+ public void clear() throws IOException {
String[] keys = keys();
for (int i = 0; i < keys.length; i++) {
remove(keys[i]);
}
-
}
@@ -206,30 +179,28 @@ public final class FileStore
* @exception IOException if an input/output error occurred
*/
public String[] keys() throws IOException {
-
// Acquire the list of files in our storage directory
File file = directory();
if (file == null) {
- return (new String[0]);
+ return new String[0];
}
String files[] = file.list();
// Bugzilla 32130
- if((files == null) || (files.length < 1)) {
- return (new String[0]);
+ if ((files == null) || (files.length < 1)) {
+ return new String[0];
}
// Build and return the list of session identifiers
- ArrayList list = new ArrayList();
+ ArrayList<String> list = new ArrayList<String>();
int n = FILE_EXT.length();
for (int i = 0; i < files.length; i++) {
if (files[i].endsWith(FILE_EXT)) {
list.add(files[i].substring(0, files[i].length() - n));
}
}
- return ((String[]) list.toArray(new String[list.size()]));
-
+ return list.toArray(new String[list.size()]);
}
@@ -243,17 +214,15 @@ public final class FileStore
* @exception ClassNotFoundException if a deserialization error occurs
* @exception IOException if an input/output error occurs
*/
- public Session load(String id)
- throws ClassNotFoundException, IOException {
-
+ public Session load(String id) throws ClassNotFoundException, IOException {
// Open an input stream to the specified pathname, if any
File file = file(id);
if (file == null) {
- return (null);
+ return null;
}
- if (! file.exists()) {
- return (null);
+ if (!file.exists()) {
+ return null;
}
if (manager.getContainer().getLogger().isDebugEnabled()) {
manager.getContainer().getLogger().debug(sm.getString(getStoreName()+".loading",
@@ -268,24 +237,26 @@ public final class FileStore
fis = new FileInputStream(file.getAbsolutePath());
BufferedInputStream bis = new BufferedInputStream(fis);
Container container = manager.getContainer();
- if (container != null)
+ if (container != null) {
loader = container.getLoader();
- if (loader != null)
+ }
+ if (loader != null) {
classLoader = loader.getClassLoader();
+ }
if (classLoader != null)
ois = new CustomObjectInputStream(bis, classLoader);
else
ois = new ObjectInputStream(bis);
- StandardSession session =
- (StandardSession) manager.createEmptySession();
+ StandardSession session = (StandardSession)
manager.createEmptySession();
session.readObjectData(ois);
session.setManager(manager);
- return (session);
+ return session;
} catch (FileNotFoundException e) {
- if (manager.getContainer().getLogger().isDebugEnabled())
+ if (manager.getContainer().getLogger().isDebugEnabled()) {
manager.getContainer().getLogger().debug("No persisted data
file found");
- return (null);
+ }
+ return null;
} finally {
// Close the input stream
if (ois != null) {
@@ -310,7 +281,6 @@ public final class FileStore
* @exception IOException if an input/output error occurs
*/
public void remove(String id) throws IOException {
-
File file = file(id);
if (file == null) {
return;
@@ -320,7 +290,6 @@ public final class FileStore
id, file.getAbsolutePath()));
}
file.delete();
-
}
@@ -333,7 +302,6 @@ public final class FileStore
* @exception IOException if an input/output error occurs
*/
public void save(Session session) throws IOException {
-
// Open an output stream to the specified pathname, if any
File file = file(session.getIdInternal());
if (file == null) {
@@ -344,19 +312,27 @@ public final class FileStore
session.getIdInternal(), file.getAbsolutePath()));
}
FileOutputStream fos = null;
+ BufferedOutputStream bos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(file.getAbsolutePath());
- oos = new ObjectOutputStream(new BufferedOutputStream(fos));
- } catch (IOException e) {
- if (oos != null) {
+ bos = new BufferedOutputStream(fos);
+ oos = new ObjectOutputStream(bos);
+ } catch (IOException ioe) {
+ if (bos != null) {
try {
- oos.close();
- } catch (IOException f) {
- ;
+ bos.close();
+ } catch (IOException e) {
+ // Ignore
+ }
+ } else if (fos != null) {
+ try {
+ fos.close();
+ } catch (IOException e) {
+ // Ignore
}
}
- throw e;
+ throw ioe;
}
try {
@@ -364,26 +340,23 @@ public final class FileStore
} finally {
oos.close();
}
-
}
// -------------------------------------------------------- Private Methods
-
/**
* Return a File object representing the pathname to our
* session persistence directory, if any. The directory will be
* created if it does not already exist.
*/
private File directory() {
-
if (this.directory == null) {
- return (null);
+ return null;
}
if (this.directoryFile != null) {
// NOTE: Race condition is harmless, so do not synchronize
- return (this.directoryFile);
+ return this.directoryFile;
}
File file = new File(this.directory);
if (!file.isAbsolute()) {
@@ -395,8 +368,7 @@ public final class FileStore
servletContext.getAttribute(Globals.WORK_DIR_ATTR);
file = new File(work, this.directory);
} else {
- throw new IllegalArgumentException
- ("Parent Container is not a Context");
+ throw new IllegalArgumentException("Parent Container is not a
Context");
}
}
if (!file.exists() || !file.isDirectory()) {
@@ -404,8 +376,7 @@ public final class FileStore
file.mkdirs();
}
this.directoryFile = file;
- return (file);
-
+ return file;
}
@@ -417,15 +388,11 @@ public final class FileStore
* used in the file naming.
*/
private File file(String id) {
-
if (this.directory == null) {
- return (null);
+ return null;
}
String filename = id + FILE_EXT;
File file = new File(directory(), filename);
- return (file);
-
+ return file;
}
-
-
}
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/JDBCStore.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1727066&r1=1727065&r2=1727066&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/JDBCStore.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/JDBCStore.java Wed
Jan 27 14:38:01 2016
@@ -14,14 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.catalina.session;
import org.apache.catalina.Container;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Loader;
import org.apache.catalina.Session;
-import org.apache.catalina.Store;
import org.apache.catalina.util.CustomObjectInputStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -45,11 +43,8 @@ import java.util.Properties;
* saved are still subject to being expired based on inactivity.
*
* @author Bip Thelin
- *
*/
-
-public class JDBCStore
- extends StoreBase implements Store {
+public class JDBCStore extends StoreBase {
/**
* The descriptive information about this implementation.
@@ -102,7 +97,8 @@ public class JDBCStore
*/
protected String driverName = null;
- // ------------------------------------------------------------- Table &
cols
+
+ // ------------------------------------------------------------ Table &
cols
/**
* Table to use.
@@ -139,7 +135,8 @@ public class JDBCStore
*/
protected String sessionLastAccessedCol = "lastaccess";
- // ------------------------------------------------------------- SQL
Variables
+
+ // ----------------------------------------------------------- SQL
Variables
/**
* Variable to hold the <code>getSize()</code> prepared statement.
@@ -171,15 +168,18 @@ public class JDBCStore
*/
protected PreparedStatement preparedLoadSql = null;
- // ------------------------------------------------------------- Properties
+
+ // --------------------------------------------------------------
Properties
/**
* Return the info for this Store.
*/
+ @Override
public String getInfo() {
- return (info);
+ return info;
}
+
/**
* Return the name for this instance (built from container name)
*/
@@ -202,20 +202,24 @@ public class JDBCStore
return name;
}
+
/**
* Return the thread name for this Store.
*/
public String getThreadName() {
- return (threadName);
+ return threadName;
}
+
/**
* Return the name for this Store, used for logging.
*/
+ @Override
public String getStoreName() {
- return (storeName);
+ return storeName;
}
+
/**
* Set the driver for this Store.
*
@@ -230,13 +234,15 @@ public class JDBCStore
this.driverName = driverName;
}
+
/**
* Return the driver for this Store.
*/
public String getDriverName() {
- return (this.driverName);
+ return driverName;
}
+
/**
* Return the username to use to connect to the database.
*
@@ -288,7 +294,7 @@ public class JDBCStore
* Return the Connection URL for this Store.
*/
public String getConnectionURL() {
- return (this.connectionURL);
+ return connectionURL;
}
/**
@@ -308,7 +314,7 @@ public class JDBCStore
* Return the table for this Store.
*/
public String getSessionTable() {
- return (this.sessionTable);
+ return sessionTable;
}
/**
@@ -431,6 +437,7 @@ public class JDBCStore
return (this.sessionLastAccessedCol);
}
+
// --------------------------------------------------------- Public Methods
/**
@@ -461,13 +468,13 @@ public class JDBCStore
preparedKeysSql.setString(1, getName());
rst = preparedKeysSql.executeQuery();
- ArrayList tmpkeys = new ArrayList();
+ ArrayList<String> tmpkeys = new ArrayList<String>();
if (rst != null) {
while (rst.next()) {
tmpkeys.add(rst.getString(1));
}
}
- keys = (String[]) tmpkeys.toArray(new
String[tmpkeys.size()]);
+ keys = tmpkeys.toArray(new String[tmpkeys.size()]);
// Break out after the finally block
numberOfTries = 0;
} catch (SQLException e) {
@@ -482,7 +489,7 @@ public class JDBCStore
rst.close();
}
} catch (SQLException e) {
- ;
+ // Ignore
}
release(_conn);
@@ -538,7 +545,7 @@ public class JDBCStore
if (rst != null)
rst.close();
} catch (SQLException e) {
- ;
+ // Ignore
}
release(_conn);
@@ -627,13 +634,13 @@ public class JDBCStore
rst.close();
}
} catch (SQLException e) {
- ;
+ // Ignore
}
if (ois != null) {
try {
ois.close();
} catch (IOException e) {
- ;
+ // Ignore
}
}
release(_conn);
@@ -793,7 +800,7 @@ public class JDBCStore
if (dbConnection != null)
close(dbConnection);
} catch (IOException e) {
- ;
+ // Ignore
} finally {
if (oos != null) {
oos.close();
@@ -817,6 +824,7 @@ public class JDBCStore
}
}
+
// --------------------------------------------------------- Protected
Methods
/**
@@ -858,7 +866,7 @@ public class JDBCStore
// Instantiate our database driver if necessary
if (driver == null) {
try {
- Class clazz = Class.forName(driverName);
+ Class<?> clazz = Class.forName(driverName);
driver = (Driver) clazz.newInstance();
} catch (ClassNotFoundException ex) {
manager.getContainer().getLogger().error(sm.getString(getStoreName() +
".checkConnectionClassNotFoundException",
@@ -899,41 +907,41 @@ public class JDBCStore
try {
preparedSizeSql.close();
} catch (Throwable f) {
- ;
+ // Ignore
}
this.preparedSizeSql = null;
try {
preparedKeysSql.close();
} catch (Throwable f) {
- ;
+ // Ignore
}
this.preparedKeysSql = null;
try {
preparedSaveSql.close();
} catch (Throwable f) {
- ;
+ // Ignore
}
this.preparedSaveSql = null;
try {
preparedClearSql.close();
} catch (Throwable f) {
- ;
+ // Ignore
}
try {
preparedRemoveSql.close();
} catch (Throwable f) {
- ;
+ // Ignore
}
this.preparedRemoveSql = null;
try {
preparedLoadSql.close();
} catch (Throwable f) {
- ;
+ // Ignore
}
this.preparedLoadSql = null;
@@ -955,12 +963,13 @@ public class JDBCStore
* @param conn The connection to be released
*/
protected void release(Connection conn) {
- ;
+ // NO-OP
}
/**
* Called once when this Store is first started.
*/
+ @Override
public void start() throws LifecycleException {
super.start();
@@ -973,6 +982,7 @@ public class JDBCStore
* Called once when this Store is stopping.
*
*/
+ @Override
public void stop() throws LifecycleException {
super.stop();
@@ -981,7 +991,7 @@ public class JDBCStore
try {
dbConnection.commit();
} catch (SQLException e) {
- ;
+ // Ignore
}
close(dbConnection);
}
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/ManagerBase.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=1727066&r1=1727065&r2=1727066&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/ManagerBase.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/ManagerBase.java Wed
Jan 27 14:38:01 2016
@@ -314,7 +314,8 @@ public abstract class ManagerBase implem
}
- /** Returns the name of the implementation class.
+ /**
+ * @return The name of the implementation class.
*/
public String getClassName() {
return this.getClass().getName();
@@ -398,7 +399,7 @@ public abstract class ManagerBase implem
boolean apr = false;
try {
String methodName = "random";
- Class paramTypes[] = new Class[2];
+ Class<?> paramTypes[] = new Class[2];
paramTypes[0] = result.getClass();
paramTypes[1] = int.class;
Object paramValues[] = new Object[2];
@@ -513,7 +514,7 @@ public abstract class ManagerBase implem
/**
- * Return the descriptive short name of this Manager implementation.
+ * @return The descriptive short name of this Manager implementation.
*/
public String getName() {
@@ -608,7 +609,7 @@ public abstract class ManagerBase implem
}
try {
// Construct and seed a new random number generator
- Class clazz = Class.forName(randomClass);
+ Class<?> clazz = Class.forName(randomClass);
this.random = (Random) clazz.newInstance();
this.random.setSeed(seed);
} catch (Exception e) {
@@ -625,8 +626,7 @@ public abstract class ManagerBase implem
}
}
- return (this.random);
-
+ return this.random;
}
@@ -634,9 +634,7 @@ public abstract class ManagerBase implem
* Return the random number generator class name.
*/
public String getRandomClass() {
-
- return (this.randomClass);
-
+ return this.randomClass;
}
@@ -646,12 +644,9 @@ public abstract class ManagerBase implem
* @param randomClass The new random number generator class name
*/
public void setRandomClass(String randomClass) {
-
String oldRandomClass = this.randomClass;
this.randomClass = randomClass;
- support.firePropertyChange("randomClass", oldRandomClass,
- this.randomClass);
-
+ support.firePropertyChange("randomClass", oldRandomClass,
this.randomClass);
}
@@ -684,12 +679,10 @@ public abstract class ManagerBase implem
}
/**
- * Return the frequency of manager checks.
+ * @return The frequency of manager checks.
*/
public int getProcessExpiresFrequency() {
-
- return (this.processExpiresFrequency);
-
+ return this.processExpiresFrequency;
}
/**
@@ -708,11 +701,11 @@ public abstract class ManagerBase implem
support.firePropertyChange("processExpiresFrequency",
new Integer(oldProcessExpiresFrequency),
new Integer(this.processExpiresFrequency));
-
}
+
+
// --------------------------------------------------------- Public Methods
-
/**
* Implements the Manager interface, direct call to processExpires
*/
@@ -770,7 +763,6 @@ public abstract class ManagerBase implem
if( oname==null ) {
try {
StandardContext ctx=(StandardContext)this.getContainer();
- Engine eng=(Engine)ctx.getParent().getParent();
domain=ctx.getEngineName();
distributable = ctx.getDistributable();
StandardHost hst=(StandardHost)ctx.getParent();
@@ -845,6 +837,7 @@ public abstract class ManagerBase implem
* instantiated for any reason
* @deprecated
*/
+ @Deprecated
public Session createSession() {
return createSession(null);
}
@@ -938,11 +931,10 @@ public abstract class ManagerBase implem
* processing this request
*/
public Session findSession(String id) throws IOException {
-
- if (id == null)
- return (null);
- return (Session) sessions.get(id);
-
+ if (id == null) {
+ return null;
+ }
+ return sessions.get(id);
}
@@ -951,9 +943,7 @@ public abstract class ManagerBase implem
* If this Manager has no active Sessions, a zero-length array is returned.
*/
public Session[] findSessions() {
-
return sessions.values().toArray(new Session[0]);
-
}
@@ -963,9 +953,7 @@ public abstract class ManagerBase implem
* @param session Session to be removed
*/
public void remove(Session session) {
-
sessions.remove(session.getIdInternal());
-
}
@@ -975,9 +963,7 @@ public abstract class ManagerBase implem
* @param listener The listener to remove
*/
public void removePropertyChangeListener(PropertyChangeListener listener) {
-
support.removePropertyChangeListener(listener);
-
}
@@ -1001,7 +987,6 @@ public abstract class ManagerBase implem
// ------------------------------------------------------ Protected Methods
-
/**
* Get new session class to be used in the doLoad() method.
*/
@@ -1098,7 +1083,7 @@ public abstract class ManagerBase implem
public Engine getEngine() {
Engine e = null;
for (Container c = getContainer(); e == null && c != null ; c =
c.getParent()) {
- if (c != null && c instanceof Engine) {
+ if (c instanceof Engine) {
e = (Engine)c;
}
}
@@ -1311,12 +1296,13 @@ public abstract class ManagerBase implem
/**
- * For debugging: return a list of all session ids currently active
+ * For debugging.
*
+ * @return A space separated list of all session IDs currently active
*/
public String listSessionIds() {
- StringBuffer sb=new StringBuffer();
- Iterator keys = sessions.keySet().iterator();
+ StringBuilder sb = new StringBuilder();
+ Iterator<String> keys = sessions.keySet().iterator();
while (keys.hasNext()) {
sb.append(keys.next()).append(" ");
}
@@ -1325,14 +1311,16 @@ public abstract class ManagerBase implem
/**
- * For debugging: get a session attribute
+ * For debugging.
+ *
+ * @param sessionId The ID for the session of interest
+ * @param key The key for the attribute to obtain
*
- * @param sessionId
- * @param key
- * @return The attribute value, if found, null otherwise
+ * @return The attribute value for the specified session, if found, null
+ * otherwise
*/
public String getSessionAttribute( String sessionId, String key ) {
- Session s = (Session) sessions.get(sessionId);
+ Session s = sessions.get(sessionId);
if( s==null ) {
if(log.isInfoEnabled())
log.info("Session not found " + sessionId);
@@ -1356,8 +1344,8 @@ public abstract class ManagerBase implem
* representation of their values, or null if no session with the
* specified id exists, or if the session does not have any attributes
*/
- public HashMap getSession(String sessionId) {
- Session s = (Session) sessions.get(sessionId);
+ public HashMap<String,Object> getSession(String sessionId) {
+ Session s = sessions.get(sessionId);
if (s == null) {
if (log.isInfoEnabled()) {
log.info("Session not found " + sessionId);
@@ -1365,14 +1353,15 @@ public abstract class ManagerBase implem
return null;
}
- Enumeration ee = s.getSession().getAttributeNames();
+ @SuppressWarnings("unchecked")
+ Enumeration<String> ee = s.getSession().getAttributeNames();
if (ee == null || !ee.hasMoreElements()) {
return null;
}
- HashMap map = new HashMap();
+ HashMap<String,Object> map = new HashMap<String,Object>();
while (ee.hasMoreElements()) {
- String attrName = (String) ee.nextElement();
+ String attrName = ee.nextElement();
map.put(attrName, getSessionAttribute(sessionId, attrName));
}
@@ -1381,8 +1370,8 @@ public abstract class ManagerBase implem
public void expireSession( String sessionId ) {
- Session s=(Session)sessions.get(sessionId);
- if( s==null ) {
+ Session s = sessions.get(sessionId);
+ if (s == null) {
if(log.isInfoEnabled())
log.info("Session not found " + sessionId);
return;
@@ -1391,15 +1380,16 @@ public abstract class ManagerBase implem
}
public long getLastAccessedTimestamp( String sessionId ) {
- Session s=(Session)sessions.get(sessionId);
- if(s== null)
- return -1 ;
+ Session s = sessions.get(sessionId);
+ if (s == null) {
+ return -1;
+ }
return s.getLastAccessedTime();
}
public String getLastAccessedTime( String sessionId ) {
- Session s=(Session)sessions.get(sessionId);
- if( s==null ) {
+ Session s = sessions.get(sessionId);
+ if (s == null) {
if(log.isInfoEnabled())
log.info("Session not found " + sessionId);
return "";
@@ -1408,8 +1398,8 @@ public abstract class ManagerBase implem
}
public String getCreationTime( String sessionId ) {
- Session s=(Session)sessions.get(sessionId);
- if( s==null ) {
+ Session s = sessions.get(sessionId);
+ if (s == null) {
if(log.isInfoEnabled())
log.info("Session not found " + sessionId);
return "";
@@ -1418,9 +1408,10 @@ public abstract class ManagerBase implem
}
public long getCreationTimestamp( String sessionId ) {
- Session s=(Session)sessions.get(sessionId);
- if(s== null)
- return -1 ;
+ Session s = sessions.get(sessionId);
+ if (s == null) {
+ return -1;
+ }
return s.getCreationTime();
}
@@ -1466,15 +1457,16 @@ public abstract class ManagerBase implem
}
/**
- * Time stamp associated with this piece of timing information in
- * milliseconds.
+ * @return Time stamp associated with this piece of timing information
+ * in milliseconds.
*/
public long getTimestamp() {
return timestamp;
}
/**
- * Duration associated with this piece of timing information in
seconds.
+ * @return Duration associated with this piece of timing information in
+ * seconds.
*/
public int getDuration() {
return duration;
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardManager.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardManager.java?rev=1727066&r1=1727065&r2=1727066&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardManager.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardManager.java
Wed Jan 27 14:38:01 2016
@@ -14,8 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.catalina.session;
import java.beans.PropertyChangeEvent;
@@ -47,6 +45,7 @@ import org.apache.catalina.util.CustomOb
import org.apache.catalina.util.LifecycleSupport;
import org.apache.catalina.security.SecurityUtil;
+
/**
* Standard implementation of the <b>Manager</b> interface that provides
* simple session persistence across restarts of this component (such as
@@ -67,25 +66,26 @@ public class StandardManager
implements Lifecycle, PropertyChangeListener {
// ---------------------------------------------------- Security Classes
+
private class PrivilegedDoLoad
- implements PrivilegedExceptionAction {
+ implements PrivilegedExceptionAction<Void> {
PrivilegedDoLoad() {
}
- public Object run() throws Exception{
+ public Void run() throws Exception{
doLoad();
return null;
}
}
private class PrivilegedDoUnload
- implements PrivilegedExceptionAction {
+ implements PrivilegedExceptionAction<Void> {
PrivilegedDoUnload() {
}
- public Object run() throws Exception{
+ public Void run() throws Exception{
doUnload();
return null;
}
@@ -159,6 +159,7 @@ public class StandardManager
*
* @param container The associated Container
*/
+ @Override
public void setContainer(Container container) {
// De-register from the old Container (if any)
@@ -174,7 +175,6 @@ public class StandardManager
( ((Context) this.container).getSessionTimeout()*60 );
((Context) this.container).addPropertyChangeListener(this);
}
-
}
@@ -183,10 +183,9 @@ public class StandardManager
* the corresponding version number, in the format
* <code><description>/<version></code>.
*/
+ @Override
public String getInfo() {
-
- return (info);
-
+ return info;
}
@@ -235,20 +234,17 @@ public class StandardManager
/**
* Return the descriptive short name of this Manager implementation.
*/
+ @Override
public String getName() {
-
- return (name);
-
+ return name;
}
/**
- * Return the session persistence pathname, if any.
+ * @return The session persistence pathname, if any.
*/
public String getPathname() {
-
- return (this.pathname);
-
+ return pathname;
}
@@ -259,11 +255,9 @@ public class StandardManager
* @param pathname New session persistence pathname
*/
public void setPathname(String pathname) {
-
String oldPathname = this.pathname;
this.pathname = pathname;
support.firePropertyChange("pathname", oldPathname, this.pathname);
-
}
@@ -279,6 +273,7 @@ public class StandardManager
* @exception IllegalStateException if a new session cannot be
* instantiated for any reason
*/
+ @Override
public Session createSession(String sessionId) {
if ((maxActiveSessions >= 0) &&
@@ -309,14 +304,14 @@ public class StandardManager
AccessController.doPrivileged( new PrivilegedDoLoad() );
} catch (PrivilegedActionException ex){
Exception exception = ex.getException();
- if (exception instanceof ClassNotFoundException){
+ if (exception instanceof ClassNotFoundException) {
throw (ClassNotFoundException)exception;
- } else if (exception instanceof IOException){
+ } else if (exception instanceof IOException) {
throw (IOException)exception;
}
- if (log.isDebugEnabled())
- log.debug("Unreported exception in load() "
- + exception);
+ if (log.isDebugEnabled()) {
+ log.debug("Unreported exception in load() ", exception);
+ }
}
} else {
doLoad();
@@ -334,52 +329,66 @@ public class StandardManager
* @exception IOException if an input/output error occurs
*/
protected void doLoad() throws ClassNotFoundException, IOException {
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Start: Loading persisted sessions");
+ }
// Initialize our internal data structures
sessions.clear();
// Open an input stream to the specified pathname, if any
File file = file();
- if (file == null)
+ if (file == null) {
return;
- if (log.isDebugEnabled())
+ }
+ if (log.isDebugEnabled()) {
log.debug(sm.getString("standardManager.loading", pathname));
+ }
FileInputStream fis = null;
+ BufferedInputStream bis = null;
ObjectInputStream ois = null;
Loader loader = null;
ClassLoader classLoader = null;
try {
fis = new FileInputStream(file.getAbsolutePath());
- BufferedInputStream bis = new BufferedInputStream(fis);
- if (container != null)
+ bis = new BufferedInputStream(fis);
+ if (container != null) {
loader = container.getLoader();
- if (loader != null)
+ }
+ if (loader != null) {
classLoader = loader.getClassLoader();
+ }
if (classLoader != null) {
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Creating custom object input stream for class
loader ");
+ }
ois = new CustomObjectInputStream(bis, classLoader);
} else {
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Creating standard object input stream");
+ }
ois = new ObjectInputStream(bis);
}
} catch (FileNotFoundException e) {
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("No persisted data file found");
+ }
return;
} catch (IOException e) {
log.error(sm.getString("standardManager.loading.ioe", e), e);
- if (ois != null) {
+ if (bis != null) {
try {
- ois.close();
+ bis.close();
} catch (IOException f) {
- ;
+ // Ignore
}
- ois = null;
- }
+ } else if (fis != null) {
+ try {
+ fis.close();
+ } catch (IOException f) {
+ // Ignore
+ }
+ }
throw e;
}
@@ -406,43 +415,38 @@ public class StandardManager
}
} catch (ClassNotFoundException e) {
log.error(sm.getString("standardManager.loading.cnfe", e), e);
- if (ois != null) {
- try {
- ois.close();
- } catch (IOException f) {
- ;
- }
- ois = null;
+ try {
+ ois.close();
+ } catch (IOException f) {
+ // Ignore
}
throw e;
} catch (IOException e) {
log.error(sm.getString("standardManager.loading.ioe", e), e);
- if (ois != null) {
- try {
- ois.close();
- } catch (IOException f) {
- ;
- }
- ois = null;
+ try {
+ ois.close();
+ } catch (IOException f) {
+ // Ignore
}
throw e;
} finally {
// Close the input stream
try {
- if (ois != null)
- ois.close();
- } catch (IOException f) {
+ ois.close();
+ } catch (IOException e) {
// ignored
}
// Delete the persistent storage file
- if (file != null && file.exists() )
+ if (file.exists()) {
file.delete();
+ }
}
}
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Finish: Loading persisted sessions");
+ }
}
@@ -454,17 +458,17 @@ public class StandardManager
* @exception IOException if an input/output error occurs
*/
public void unload() throws IOException {
- if (SecurityUtil.isPackageProtectionEnabled()){
- try{
- AccessController.doPrivileged( new PrivilegedDoUnload() );
+ if (SecurityUtil.isPackageProtectionEnabled()) {
+ try {
+ AccessController.doPrivileged(new PrivilegedDoUnload());
} catch (PrivilegedActionException ex){
Exception exception = ex.getException();
- if (exception instanceof IOException){
+ if (exception instanceof IOException) {
throw (IOException)exception;
}
- if (log.isDebugEnabled())
- log.debug("Unreported exception in unLoad() "
- + exception);
+ if (log.isDebugEnabled()) {
+ log.debug("Unreported exception in unLoad()", exception);
+ }
}
} else {
doUnload();
@@ -491,10 +495,12 @@ public class StandardManager
// Open an output stream to the specified pathname, if any
File file = file();
- if (file == null)
+ if (file == null) {
return;
- if (log.isDebugEnabled())
+ }
+ if (log.isDebugEnabled()) {
log.debug(sm.getString("standardManager.unloading", pathname));
+ }
FileOutputStream fos = null;
ObjectOutputStream oos = null;
try {
@@ -502,41 +508,37 @@ public class StandardManager
oos = new ObjectOutputStream(new BufferedOutputStream(fos));
} catch (IOException e) {
log.error(sm.getString("standardManager.unloading.ioe", e), e);
- if (oos != null) {
+ if (fos != null) {
try {
- oos.close();
+ fos.close();
} catch (IOException f) {
- ;
+ // Ignore
}
- oos = null;
}
throw e;
}
// Write the number of active sessions, followed by the details
- ArrayList list = new ArrayList();
+ ArrayList<Session> list = new ArrayList<Session>();
synchronized (sessions) {
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Unloading " + sessions.size() + " sessions");
+ }
try {
oos.writeObject(new Integer(sessions.size()));
- Iterator elements = sessions.values().iterator();
+ Iterator<Session> elements = sessions.values().iterator();
while (elements.hasNext()) {
- StandardSession session =
- (StandardSession) elements.next();
+ StandardSession session = (StandardSession)
elements.next();
list.add(session);
- ((StandardSession) session).passivate();
+ session.passivate();
session.writeObjectData(oos);
}
} catch (IOException e) {
log.error(sm.getString("standardManager.unloading.ioe", e), e);
- if (oos != null) {
- try {
- oos.close();
- } catch (IOException f) {
- ;
- }
- oos = null;
+ try {
+ oos.close();
+ } catch (IOException f) {
+ // Ignore
}
throw e;
}
@@ -544,39 +546,35 @@ public class StandardManager
// Flush and close the output stream
try {
- oos.flush();
oos.close();
- oos = null;
} catch (IOException e) {
- if (oos != null) {
- try {
- oos.close();
- } catch (IOException f) {
- ;
- }
- oos = null;
+ try {
+ oos.close();
+ } catch (IOException f) {
+ // Ignore
}
throw e;
}
// Expire all the sessions we just wrote
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Expiring " + list.size() + " persisted sessions");
- Iterator expires = list.iterator();
+ }
+ Iterator<Session> expires = list.iterator();
while (expires.hasNext()) {
StandardSession session = (StandardSession) expires.next();
try {
session.expire(false);
} catch (Throwable t) {
- ;
+ // Ignore
} finally {
session.recycle();
}
}
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Unloading complete");
-
+ }
}
@@ -640,7 +638,7 @@ public class StandardManager
// Force initialization of the random number generator
if (log.isDebugEnabled())
log.debug("Force random number initialization starting");
- String dummy = generateSessionId();
+ generateSessionId();
if (log.isDebugEnabled())
log.debug("Force random number initialization completed");
@@ -664,8 +662,9 @@ public class StandardManager
*/
public void stop() throws LifecycleException {
- if (log.isDebugEnabled())
+ if (log.isDebugEnabled()) {
log.debug("Stopping");
+ }
// Validate and update our current component state
if (!started)
@@ -690,7 +689,7 @@ public class StandardManager
session.expire();
}
} catch (Throwable t) {
- ;
+ // Ignore
} finally {
// Measure against memory leaking if references to the session
// object are kept in a shared field somewhere
@@ -720,7 +719,6 @@ public class StandardManager
// Validate the source of this event
if (!(event.getSource() instanceof Context))
return;
- Context context = (Context) event.getSource();
// Process a relevant property change
if (event.getPropertyName().equals("sessionTimeout")) {
@@ -738,13 +736,11 @@ public class StandardManager
// ------------------------------------------------------ Protected Methods
-
/**
* Return a File object representing the pathname to our
* persistence file, if any.
*/
protected File file() {
-
if ((pathname == null) || (pathname.length() == 0))
return (null);
File file = new File(pathname);
@@ -760,7 +756,6 @@ public class StandardManager
}
// if (!file.isAbsolute())
// return (null);
- return (file);
-
+ return file;
}
}
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardSessionFacade.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardSessionFacade.java?rev=1727066&r1=1727065&r2=1727066&view=diff
==============================================================================
---
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardSessionFacade.java
(original)
+++
tomcat/tc6.0.x/trunk/java/org/apache/catalina/session/StandardSessionFacade.java
Wed Jan 27 14:38:01 2016
@@ -14,18 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
-
package org.apache.catalina.session;
-
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionContext;
-
/**
* Facade for the StandardSession object.
*
@@ -36,12 +32,13 @@ import javax.servlet.http.HttpSessionCon
public class StandardSessionFacade
implements HttpSession {
-
// ----------------------------------------------------------- Constructors
/**
* Construct a new session facade.
+ *
+ * @param session The session instance to wrap
*/
public StandardSessionFacade(StandardSession session) {
super();
@@ -60,7 +57,6 @@ public class StandardSessionFacade
// ----------------------------------------------------- Instance Variables
-
/**
* Wrapped session object.
*/
@@ -69,7 +65,6 @@ public class StandardSessionFacade
// ---------------------------------------------------- HttpSession Methods
-
public long getCreationTime() {
return session.getCreationTime();
}
@@ -154,6 +149,4 @@ public class StandardSessionFacade
public boolean isNew() {
return session.isNew();
}
-
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]