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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org