Author: ritchiem
Date: Fri Apr 20 08:00:06 2007
New Revision: 530832

URL: http://svn.apache.org/viewvc?view=rev&rev=530832
Log:
Merged revisions 
1-447993,447995-448007,448009-448141,448143-448157,448161-448194,448196-448210,448212-448218,448220-448223,448225-448233,448235,448237-448241,448243-448596,448598-448623,448625-448850,448852-448880,448882-448982,448984-449635,449637-449639,449641-449642,449644-449645,449647-449674,449676-449719,449721-449749,449751-449762,449764-449933,449935-449941,449943-450383,450385,450387-450400,450402-450433,450435-450503,450505-450555,450557-450860,450862-451024,451026-451149,451151-451316,451318-451931,451933-452139,452141-452162,452164-452320,452322,452324-452325,452327-452333,452335-452429,452431-452528,452530-452545,452547-453192,453194-453195,453197-453536,453538,453540-453656,453658-454676,454678-454735,454737,454739-454781,454783-462728,462730-462819,462821-462833,462835-462839,462841-463071,463073-463178,463180-463308,463310-463362,463364-463375,463377-463396,463398-463402,463404-463409,463411-463661,463663-463670,463672-463673,463675-464493,464495-464502,46450
 
4-464576,464578-464613,464615-464628,464630,464632-464866,464868-464899,464901-464942,464944-464949,464951-465004,465006-465016,465018-465053,465055-465165,465167-465321,465323-465406,465408-465427,465429-465431,465433-465548,465550-466044,466047-466075,466077,466079-466081,466083-466099,466101-466112,466114-466126,466128-466240,466242-466971,466973-466978,466980-467309,467311-467312,467316-467328,467330-467485,467487-467588,467590-467604,467606-467699,467701-467706,467708-467749,467751-468069,468071-468537,468539-469241,469244-469246,469248-469318,469320-469421,469423,469425-469429,469431-469435,469437-469462,469464-469469,469472-469477,469479-469490,469492-469503,469505-469529,469531-469598,469600-469624,469626-469737,469739-469752,469754-469806,469808-469928,469930-469953,469955-470011,470013-470109,470111-470335,470338-470339,470341-470379,470381,470383-470399,470401-470446,470448-470741,470743-470758,470760-470809,470811-470817,470819-470993,470995-471001,471003-471788,
 
471790-471792,471794-472028,472030-472032,472034-472036,472038,472040,472043,472045-472059,472061,472063,472065-472066,472068,472070-472072,472074-472080,472082,472084-472092,472094-472107,472109-472123,472125-472158,472160-472165,472167-472172,472174-472457,472459-472460,472462-472464,472466-472470,472472-472483,472486-472491,472493-472494,472496-472497,472499,472501-472503,472505-472512,472514-472544,472546-472556,472558-472560,472562-472572,472574-472587,472589-472591,472593-472605,472607,472609-472731,472733-472786,472788-472843,472845-472849,472851-472859,472861-472878,472880-472903,472905,472907-472988,472990-472991,472993-473071,473073-473086,473088-473090,473093,473095-473096,473098-473106,473108-473110,473112-473185,473187-473260,473262,473268-473270,473275-473279,473281,473284-473287,473289-473295,473297-473306,473308-473330,473332-473335,473337,473339-473344,473346-473351,473353-473355,473357-473358,473361-473471,473473-473497,473499-473535,473537-473567,473569-47
 
3888,473890-474451,474454-474492,474494-474563,474565-474843,474845-474865,474867-474932,474934-475035,475037-475144,475146-475180,475182-475265,475267-475285,475287,475289-475293,475295-475296,475298-475302,475304-475631,475633-475649,475651-475748,475750-475752,475754-476107,476109-476302,476304-476413,476415-476430,476432-476700,476702-476868,476870-477147,477149-477213,477215-477263,477265-477340,477342-477635,477637-477789,477791-477825,477827-477841,477843,477846-477852,477854,477856,477858-477865,477867-477894,477896-478022,478024-478182,478184-478211,478213-478233,478235-478236,478238-478241,478243-478252,478254-478259,478261-478263,478265,478267-478269,478271-478286,478288-478342,478344-478379,478381-478412,478414-478443,478445-478636,478639-478658,478660-478821,478823-478853,478855-478922,478924-478962,478965-478974,478976-479029,479031-479049,479051-479210,479212-479214,479216-479407,479409-479415,479417-479425,479427-479559,479561-479639,479641-479676,479678-4796
 
85,479687-480030,480033-480086,480091-480093,480095-480118,480120-480139,480141,480143-480148,480150-480156,480158-480163,480165-480177,480179-480189,480191-480193,480195-480198,480200-480220,480222-480282,480284-480292,480294-480308,480310-480317,480320-480422,480424,480426-480581,480583-480656,480658-480692,480695-480702,480704,480706-480710,480712-480910,480913-480933,480935-480945,480947-480972,480974-480993,480995-481034,481036-481158,481161-481174,481176-481220,481222-481234,481236-481260,481263-481264,481266-481296,481298-481304,481306-481311,481313-481332,481334,481336-481380,481382-481441,481443-482144,482146-482180,482182-482193,482195-482232,482234-482236,482239,482241-482242,482244-482247,482250-482251,482253,482256-482261,482264-482288,482290-482364,482366,482368,482370-482554,482556,482558-482569,482572-482636,482638,482640-482696,482698-482722,482724-482732,482734-482771,482774-482957,482959-483045,483047-483105,483108,483110-483115,483117,483119-483127,483130
 
-483134,483136-483148,483150-483158,483160-483164,483166-483178,483180-483391,483393-483400,483402-483403,483405-483418,483420-483421,483425-483436,483438-483470,483472-483502,483504-483558,483560-483599,483601-483637,483639-483644,483646-483659,483661-483670,483672-483878,483880-483910,483912-483915,483917-483940,483942,483944-483968,483970-483972,483974-483976,483978,483980-484612,484614-484657,484659-484693,484695-484718,484720-484842,484844-484847,484849-484986,484988-485019,485021-485489,485491-485544,485546-485591,485593,485595-485697,485699-485729,485731-485734,485736-485779,485781-485787,485789-485851,485853,485855-486007,486009,486011-486020,486022-486083,486085-486097,486099-486117,486120-486131,486133-486148,486150-486161,486163-486164,486166-486197,486199-486205,486208-486247,486249-486253,486256-486427,486429-486431,486433-486554,486556-486573,486575-486593,486595,486597-486609,486611-486619,486622,486625,486627-486641,486643-486645,486649-486687,486689-486721,4
 
86723-486730,486732-486746,486748-486759,486761,486763-486777,486779-486782,486784-486788,486790,486792,486794-486796,486798-487175,487178,487180-487213,487215,487217-487267,487269-487284,487286-487298,487300-487358,487360-487367,487369-487382,487384-487434,487436-487480,487482-487547,487549-487561,487563-487565,487567-487578,487580-487615,487617-487622,487624,487626,487628,487630-487635,487637-487703,487705-487777,487780-487781,487783-487800,487802-487803,487805-487820,487822-487848,487850-487902,487904-488103,488105-488133,488135-488158,488160-488163,488165-488187,488189-488216,488218-488248,488250-488278,488280,488282-488303,488305-488313,488315-488342,488344-488351,488353-488376,488378-488449,488451-488593,488595,488597-488623,488625-488700,488702-488704,488706-488710,488714,488716-488725,488727-488744,488746-488770,488772-488798,488800,488802-488807,488809,488811-488829,488831-488843,488845-488851,488853-489069,489071-489077,489079-489081,489084-489102,489104-489105,489
 
107-489109,489111-489112,489114-489139,489141-489178,489181-489203,489205-489211,489213,489216-489329,489332-489402,489404-489417,489419-489421,489423-489643,489645-489690,489692-489703,489705-489714,489716-489747,489749-489753,489755-489803,489805-489904,489906-490372,490374-490504,490506-490604,490606-490707,490710-490733,490735-490871,490873-490984,490986-491028,491030,491032-491071,491073-491119,491121-491576,491578-491672,491674-491800,491802-491838,491840-491878,491880-492183,492185-492279,492281-492317,492319-492513,492515-492584,492586-492587,492589-492601,492603-492635,492637-492640,492642-492717,492719-492723,492725-492729,492731-492755,492757-492901,492903-492955,492957-492962,492964-492997,492999-493002,493004-493041,493043-493059,493062-493063,493065-493086,493088-493125,493127-493139,493141-493150,493152-493871,493873-494017,494019-494030,494032-494041,494043-494091,494093-494120,494122-494354,494356-494436,494438-494539,494541-494552,494554-494586,494588-49464
 
9,494651,494653-494654,494656-494657,494659-494764,494766-494768,494770-494796,494798-494799,494802,494804-494860,494862-494903,494905-494906,494908-495019,495021-495160,495162-495168,495171-495188,495190-495229,495231-495254,495256-495303,495305-495313,495315-495336,495338-495372,495374-495379,495381-495454,495457-495459,495462-495516,495518-495524,495526-495531,495533-495548,495551-495553,495555,495557-495558,495560,495562-495573,495575-495583,495585-495594,495596-495628,495630-495638,495640-495651,495653-495660,495662-495753,495755-496259,496261-496262,496264-496269,496271-496275,496277-496301,496303-496316,496318-496383,496385-496413,496415-496495,496497-496625,496627-496636,496638-496640,496642-496647,496650-496657,496659-496660,496663-496664,496666-496677,496679-496681,496683-496730,496732-496750,496752,496754-496784,496786-496832,496834-496840,496842-496990,496992-496995,496997-497340,497343-497351,497353-497403,497405-497424,497426-497438,497440-497481,497483-497497,
 
497499-497765,497767-497769,497771-497775,497777-497778,497780,497782-497783,497785,497787-497812,497814-497871,497873-497877,497879-498573,498575-498588,498590,498592,498594-498636,498638-498669,498671-498686,498688-498689,498691-498719,498721-498964,498966-498969,498971-498973,498975-498982,498985-499035,499037-499040,499042,499044-499048,499050-499082,499084-499086,499088-499164,499167-499169,499171-499355,499357-499370,499372-499373,499375-499391,499393,499395-499425,499428,499430-499445,499447-499455,499457-499460,499462-499465,499467,499469-499489,499491-499492,499494-499531,499533-499562,499566-499627,499629-499715,499717-499732,499734-499755,499758-499763,499765-499780,499782-499795,499797-499802,499804-499844,499846,499848-499850,499852-499863,499865-499873,499875-499974,499976-499978,499980-500263,500265-500283,500285-500309,500311-501000,501002,501012-501057,501059-501095,501097-501390,501392-501410,501413-501447,501449-501454,501456,501458-501464,501466-501471,50
 
1473-501803,501805-501913,501915-501916,501918-501919,501921-501944,501946-502171,502173-502177,502181,502183-502247,502250-502252,502254-502260,502262-502267,502270,502272,502274-502575,502577-502609,502611-502619,502621-502626,502628-502654,502656-503592,503594-503603,503605-503608,503610-503636,503638-503645,503647-503705,503707-503789,503791-504024,504026-504111,504113-504506,504508-504735,504737-504863,504865-504867,504869-504914,504916-505241,505243-505254,505257-505267,505269-505354,505356-505891,505893-505971,505973-506400,506402-506404,506407-506438,506440-506516,506518-506541,506543-506966,506968-506971,506973-507095,507097-507108,507111-507454,507456,507459-507471,507473-507556,507558,507560-507581,507585-507594,507597,507599-507608,507610-507728,507730-507893,507895-507937,507940-508234,508236-508350,508352-508365,508367-508380,508383,508386-508415,508417-508648,508650-508941,508943-509146,509148-509171,509173-509175,509179-509201,509203-509207,509209-509215,5092
 
17-509222,509224-509477,509480-509627,509629-509634,509636-509641,509643-509736,509738-509931,509933-510059,510061-510075,510077-510158,510161-510896,510898-510938,510940-511388,511390-511922,511924-512287,512289-512698,512702-512813,512815-512817,512819-513359,513361-513370,513372-514702,514704-514886,514888-514902,514904-515126,515129-515141,515143-515516,515518-515534,515536-515538,515540-515648,515650-515651,515653-516070,516072-516411,516413-516448,516450,516452-517637,517639-517647,517649-517659,517661-517663,517665-517677,517679-517682,517684-517744,517746-518085,518087-518175,518177-518558,518560-518568,518571-518666,518668,518670-518699,518701-518987,518990-518992,518994-519908,519910-519932,519934-520414,520416-520842,520844-520937,520939-521362,521364-521681,521683-521704,521706-521709,521711-521714,521716-521781,521783-521792,521794-522462,522464-522527,522529-522534,522536-522566,522568-522958,522960,522962-522966,522968-522976,522978-522980,522982-522988,522992
 
-522993,522995-523244,523246-523746,523748-524049,524051-524738,524741-524742,524744-524762,524764,524766,524768-525486,525488-525530,525532,525534,525537-525552,525554-525765,525767-525776,525778-525784,525789-525803,525805-525816,525818-525828,525830-525861,525863-525866,525868-526090,526092-526112,526114-526116,526119-526121,526123-526149,526151-526153,526155-526156,526160-526165,526167-526186,526188-526193,526196-526197,526200-526665,526667-526682,526686-526690,526693,526695-526708,526710-526713,526715-526775,526777-526802,526804-526806,526808-527048,527051-527052,527054-527181,527183-527486,527488-527492,527494-527498,527500-527508,527510-527517,527519-527536,527538-527555,527559-527802,527804-527842,527844-527847,527849-527875,527877-527940,527942-527958,527960-527971,527973-528002,528004,528006-528423,528425-529232,529234-529245,529247-529296,529298-529634,529636-529658,529660-529665,529667-529668,529670-530033,530035-530036,530038-530040,530045-530046,530050-530051,5
 
30053-530431,530433-530436,530439-530440,530443,530445-530446,530448,530450-530682,530684,530687-530696,530698-530733,530735-530776,530778-530830
 via svnmerge from 
https://svn.apache.org/repos/asf/incubator/qpid/branches/M2

........
  r530796 | ritchiem | 2007-04-20 14:23:17 +0100 (Fri, 20 Apr 2007) | 1 line
  
  QPID-468 Add Broker verison number to Listen print line in Main.java:367
........
  r530797 | ritchiem | 2007-04-20 14:24:43 +0100 (Fri, 20 Apr 2007) | 1 line
  
  Updated PrincipalDatabase verifyPassword to match rest of API and take a 
char[]
........
  r530798 | ritchiem | 2007-04-20 14:25:50 +0100 (Fri, 20 Apr 2007) | 3 lines
  
  QPID-445 Added checks to ensure UserManagement MBean is only accessed by 
Admin users.
  Allow Qpid JMX Management console to manage access file.
........
  r530800 | ritchiem | 2007-04-20 14:27:22 +0100 (Fri, 20 Apr 2007) | 1 line
  
  White space changes plus additional logging to aid in debugging
........
  r530812 | ritchiem | 2007-04-20 14:59:27 +0100 (Fri, 20 Apr 2007) | 2 lines
  
  QPID-471 User list not populated. 
  This was due to the fact that the 'View User' has been marked as an ACTION. 
Changing to an INFO made the console work just fine.
........
  r530819 | ritchiem | 2007-04-20 15:08:13 +0100 (Fri, 20 Apr 2007) | 1 line
  
  QPID-468 Update to log4j.xml to ensure the new logger is at least at the info 
level.
........

Modified:
    incubator/qpid/trunk/qpid/   (props changed)
    incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
    
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
    
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java

Propchange: incubator/qpid/trunk/qpid/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml (original)
+++ incubator/qpid/trunk/qpid/java/broker/etc/log4j.xml Fri Apr 20 08:00:06 2007
@@ -64,6 +64,10 @@
         </layout>
     </appender>
 
+     <category name="Qpid.Broker">
+        <priority value="info"/>
+    </category>
+
     <!--<category name="org.apache.qpid.server.store">
         <priority value="debug"/>
     </category-->

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java
 Fri Apr 20 08:00:06 2007
@@ -48,6 +48,7 @@
 import org.apache.mina.transport.socket.nio.SocketSessionConfig;
 
 import org.apache.qpid.AMQException;
+import org.apache.qpid.common.QpidProperties;
 import org.apache.qpid.framing.ProtocolVersion;
 import org.apache.qpid.pool.ReadWriteThreadModel;
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
@@ -66,6 +67,7 @@
 public class Main
 {
     private static final Logger _logger = Logger.getLogger(Main.class);
+    public static final Logger _brokerLogger = Logger.getLogger("Qpid.Broker");
 
     private static final String DEFAULT_CONFIG_FILE = "etc/config.xml";
 
@@ -118,25 +120,25 @@
         Option help = new Option("h", "help", false, "print this message");
         Option version = new Option("v", "version", false, "print the version 
information and exit");
         Option configFile =
-            OptionBuilder.withArgName("file").hasArg().withDescription("use 
given configuration file").withLongOpt("config")
-                         .create("c");
+                
OptionBuilder.withArgName("file").hasArg().withDescription("use given 
configuration file").withLongOpt("config")
+                        .create("c");
         Option port =
-            OptionBuilder.withArgName("port").hasArg()
-                         .withDescription("listen on the specified port. 
Overrides any value in the config file")
-                         .withLongOpt("port").create("p");
+                OptionBuilder.withArgName("port").hasArg()
+                        .withDescription("listen on the specified port. 
Overrides any value in the config file")
+                        .withLongOpt("port").create("p");
         Option bind =
-            OptionBuilder.withArgName("bind").hasArg()
-                         .withDescription("bind to the specified address. 
Overrides any value in the config file")
-                         .withLongOpt("bind").create("b");
+                OptionBuilder.withArgName("bind").hasArg()
+                        .withDescription("bind to the specified address. 
Overrides any value in the config file")
+                        .withLongOpt("bind").create("b");
         Option logconfig =
-            OptionBuilder.withArgName("logconfig").hasArg()
-                         .withDescription("use the specified log4j xml 
configuration file. By "
-                + "default looks for a file named " + 
DEFAULT_LOG_CONFIG_FILENAME
-                + " in the same directory as the configuration 
file").withLongOpt("logconfig").create("l");
+                OptionBuilder.withArgName("logconfig").hasArg()
+                        .withDescription("use the specified log4j xml 
configuration file. By "
+                                         + "default looks for a file named " + 
DEFAULT_LOG_CONFIG_FILENAME
+                                         + " in the same directory as the 
configuration file").withLongOpt("logconfig").create("l");
         Option logwatchconfig =
-            OptionBuilder.withArgName("logwatch").hasArg()
-                         .withDescription("monitor the log file configuration 
file for changes. Units are seconds. "
-                + "Zero means do not check for 
changes.").withLongOpt("logwatch").create("w");
+                OptionBuilder.withArgName("logwatch").hasArg()
+                        .withDescription("monitor the log file configuration 
file for changes. Units are seconds. "
+                                         + "Zero means do not check for 
changes.").withLongOpt("logwatch").create("w");
 
         options.addOption(help);
         options.addOption(version);
@@ -213,7 +215,7 @@
 
             if (QpidHome == null)
             {
-                error = error + "\nNote: "+QPID_HOME+" is not set.";
+                error = error + "\nNote: " + QPID_HOME + " is not set.";
             }
 
             throw new InitException(error, null);
@@ -239,10 +241,14 @@
 
         ApplicationRegistry.initialise(new 
ConfigurationFileApplicationRegistry(configFile));
 
-        _logger.info("Starting Qpid.AMQP broker");
+        //fixme .. use QpidProperties.getVersionString when we have fixed the 
classpath issues
+        // that are causing the broker build to pick up the wrong properties 
file and hence say
+        // Starting Qpid Client 
+        _brokerLogger.info("Starting Qpid Broker " + 
QpidProperties.getReleaseVersion()
+                           + " build: " + QpidProperties.getBuildVersion());
 
         ConnectorConfiguration connectorConfig =
-            
ApplicationRegistry.getInstance().getConfiguredObject(ConnectorConfiguration.class);
+                
ApplicationRegistry.getInstance().getConfiguredObject(ConnectorConfiguration.class);
 
         ByteBuffer.setUseDirectBuffers(connectorConfig.enableDirectBuffers);
 
@@ -293,7 +299,7 @@
     }
 
     protected void setupVirtualHosts(String configFileParent, String 
configFilePath)
-        throws ConfigurationException, AMQException, URLSyntaxException
+            throws ConfigurationException, AMQException, URLSyntaxException
     {
         String configVar = "${conf}";
 
@@ -320,7 +326,7 @@
                 if (fileNames[each].endsWith(".xml"))
                 {
                     VirtualHostConfiguration vHostConfig =
-                        new VirtualHostConfiguration(configFilePath + "/" + 
fileNames[each]);
+                            new VirtualHostConfiguration(configFilePath + "/" 
+ fileNames[each]);
                     vHostConfig.performBindings();
                 }
             }
@@ -367,7 +373,7 @@
                 }
 
                 acceptor.bind(bindAddress, handler, sconfig);
-                _logger.info("Qpid.AMQP listening on non-SSL address " + 
bindAddress);
+                _brokerLogger.info("Qpid.AMQP listening on non-SSL address " + 
bindAddress);
             }
 
             if (connectorConfig.enableSSL)
@@ -376,11 +382,11 @@
                 try
                 {
                     acceptor.bind(new 
InetSocketAddress(connectorConfig.sslPort), handler, sconfig);
-                    _logger.info("Qpid.AMQP listening on SSL port " + 
connectorConfig.sslPort);
+                    _brokerLogger.info("Qpid.AMQP listening on SSL port " + 
connectorConfig.sslPort);
                 }
                 catch (IOException e)
                 {
-                    _logger.error("Unable to listen on SSL port: " + e, e);
+                    _brokerLogger.error("Unable to listen on SSL port: " + e, 
e);
                 }
             }
         }
@@ -434,7 +440,7 @@
         catch (NumberFormatException e)
         {
             System.err.println("Log watch configuration value of " + 
logWatchConfig + " is invalid. Must be "
-                + "a non-negative integer. Using default of zero (no watching 
configured");
+                               + "a non-negative integer. Using default of 
zero (no watching configured");
         }
 
         if (logConfigFile.exists() && logConfigFile.canRead())
@@ -443,7 +449,7 @@
             if (logWatchTime > 0)
             {
                 System.out.println("log file " + 
logConfigFile.getAbsolutePath() + " will be checked for changes every "
-                    + logWatchTime + " seconds");
+                                   + logWatchTime + " seconds");
                 // log4j expects the watch interval in milliseconds
                 
DOMConfigurator.configureAndWatch(logConfigFile.getAbsolutePath(), logWatchTime 
* 1000);
             }

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java
 Fri Apr 20 08:00:06 2007
@@ -83,7 +83,7 @@
     }
 
 
-    public void start()
+    public void start() throws IOException
     {
         // Check if the "QPID_OPTS" is set to use Out of the Box JMXAgent
         if (areOutOfTheBoxJMXOptionsSet())
@@ -97,76 +97,60 @@
         boolean security = 
appRegistry.getConfiguration().getBoolean("management.security-enabled", true);
         int port = appRegistry.getConfiguration().getInt("management.jmxport", 
8999);
 
-        try
+        if (security)
         {
-            if (security)
-            {
-                // For SASL using JMXMP
-                _jmxURL = new JMXServiceURL("jmxmp", null, port);
+            // For SASL using JMXMP
+            _jmxURL = new JMXServiceURL("jmxmp", null, port);
 
-                Map env = new HashMap();
-                Map<String, PrincipalDatabase> map = 
appRegistry.getDatabaseManager().getDatabases();
-                PrincipalDatabase db = null;
-                
-                for (Map.Entry<String, PrincipalDatabase> entry : 
map.entrySet())
-                {
-                    if (entry.getValue() instanceof 
Base64MD5PasswordFilePrincipalDatabase)
-                    {
-                        db = entry.getValue();
-                        break;
-                    }
-                    else if (entry.getValue() instanceof 
PlainPasswordFilePrincipalDatabase)
-                    {
-                        db = entry.getValue();
-                    }
-                }
-
-                if (db instanceof Base64MD5PasswordFilePrincipalDatabase)
-                {
-                    env.put("jmx.remote.profiles", "SASL/CRAM-MD5");
-                    CRAMMD5HashedInitialiser initialiser = new 
CRAMMD5HashedInitialiser();
-                    initialiser.initialise(db);
-                    env.put("jmx.remote.sasl.callback.handler", 
initialiser.getCallbackHandler());
-                }
-                else if (db instanceof PlainPasswordFilePrincipalDatabase)
-                {
-                    env.put("jmx.remote.profiles", "SASL/PLAIN");
-                    env.put("jmx.remote.sasl.callback.handler", new 
UserCallbackHandler(db));
-                }
-
-                // Enable the SSL security and server authentication
-                /*
-                SslRMIClientSocketFactory csf = new 
SslRMIClientSocketFactory();
-                SslRMIServerSocketFactory ssf = new 
SslRMIServerSocketFactory();
-                
env.put(RMIConnectorServer.RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE, csf);
-                
env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, ssf);
-                 */
+            Map env = new HashMap();
+            Map<String, PrincipalDatabase> map = 
appRegistry.getDatabaseManager().getDatabases();
+            PrincipalDatabase db = null;
 
-                try
+            for (Map.Entry<String, PrincipalDatabase> entry : map.entrySet())
+            {
+                if (entry.getValue() instanceof 
Base64MD5PasswordFilePrincipalDatabase)
+                {
+                    db = entry.getValue();
+                    break;
+                }
+                else if (entry.getValue() instanceof 
PlainPasswordFilePrincipalDatabase)
                 {
-                    JMXConnectorServer cs = 
JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, env, _mbeanServer);
-                    MBeanServerForwarder mbsf = 
MBeanInvocationHandlerImpl.newProxyInstance();
-                    cs.setMBeanServerForwarder(mbsf);
-                    cs.start();
-                    _log.info("JMX: Starting JMXConnector server with SASL");
-                }
-                catch (java.net.MalformedURLException urlException)
-                {
-                    // When JMXMPConnector is not available
-                    // java.net.MalformedURLException: Unsupported protocol: 
jmxmp
-                    _log.info("JMX: Starting JMXConnector server");
-                    startJMXConnectorServer(port);
+                    db = entry.getValue();
                 }
             }
-            else
+
+            if (db instanceof Base64MD5PasswordFilePrincipalDatabase)
+            {
+                env.put("jmx.remote.profiles", "SASL/CRAM-MD5");
+                CRAMMD5HashedInitialiser initialiser = new 
CRAMMD5HashedInitialiser();
+                initialiser.initialise(db);
+                env.put("jmx.remote.sasl.callback.handler", 
initialiser.getCallbackHandler());
+            }
+            else if (db instanceof PlainPasswordFilePrincipalDatabase)
             {
-                startJMXConnectorServer(port);
+                env.put("jmx.remote.profiles", "SASL/PLAIN");
+                env.put("jmx.remote.sasl.callback.handler", new 
UserCallbackHandler(db));
             }
+
+            // Enable the SSL security and server authentication
+            /*
+           SslRMIClientSocketFactory csf = new SslRMIClientSocketFactory();
+           SslRMIServerSocketFactory ssf = new SslRMIServerSocketFactory();
+           env.put(RMIConnectorServer.RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE, 
csf);
+           env.put(RMIConnectorServer.RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE, 
ssf);
+            */
+
+            JMXConnectorServer cs = 
JMXConnectorServerFactory.newJMXConnectorServer(_jmxURL, env, _mbeanServer);
+            MBeanServerForwarder mbsf = 
MBeanInvocationHandlerImpl.newProxyInstance();
+            cs.setMBeanServerForwarder(mbsf);
+            cs.start();
+            _log.warn("JMX: Started JMXConnector server with SASL");
+
         }
-        catch (Exception ex)
+        else
         {
-            _log.error("Error in initialising Managed Object Registry." + 
ex.getMessage());
-            ex.printStackTrace();
+            startJMXConnectorServer(port);
+            _log.warn("JMX: Started JMXConnector server with security 
disabled");
         }
     }
 
@@ -280,7 +264,7 @@
                 String username = ncb.getDefaultName();
                 try
                 {
-                    authorized = _principalDatabase.verifyPassword(username, 
new String(pcb.getPassword()));
+                    authorized = _principalDatabase.verifyPassword(username, 
pcb.getPassword());
                 }
                 catch (AccountNotFoundException e)
                 {

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
 Fri Apr 20 08:00:06 2007
@@ -18,6 +18,7 @@
 package org.apache.qpid.server.management;
 
 import org.apache.qpid.AMQException;
+import org.apache.qpid.server.security.access.AMQUserManagementMBean;
 import org.apache.log4j.Logger;
 
 import javax.management.remote.MBeanServerForwarder;
@@ -122,8 +123,20 @@
         Principal principal = principals.iterator().next();
         String identity = principal.getName();
 
+        if (isAdminMethod(args))
+        {
+            if (isAdmin(identity))
+            {
+                return method.invoke(mbs, args);
+            }
+            else
+            {
+                throw new SecurityException("Access denied");
+            }
+        }
+
         // Following users can perform any operation other than "createMBean" 
and "unregisterMBean"
-        if (isAdmin(identity) || isAllowedToModify(identity))
+        if (isAllowedToModify(identity))
         {
             return method.invoke(mbs, args);
         }
@@ -138,6 +151,41 @@
         throw new SecurityException("Access denied");
     }
 
+    private boolean isAdminMethod(Object[] args)
+    {
+        if (args[0] instanceof ObjectName)
+        {
+            String mbeanMethod = (args.length > 1) ? (String) args[1] : null;
+            if (mbeanMethod == null)
+            {
+                if (args[0] instanceof ObjectName)
+                {
+                    ObjectName object = (ObjectName) args[0];
+                    return 
object.getCanonicalName().contains("UserManagement");
+                }
+                else
+                {
+                    return false;
+                }
+            }
+
+            try
+            {
+                MBeanInfo mbeanInfo = mbs.getMBeanInfo((ObjectName) args[0]);
+                if (mbeanInfo != null)
+                {
+                    return 
mbeanInfo.getClassName().equals("org.apache.qpid.server.security.access.AMQUserManagementMBean");
+                }
+            }
+            catch (JMException ex)
+            {
+                return false;
+            }
+        }
+
+        return false;
+    }
+
     // Initialises the user roles
     public static void setAccessRights(Properties accessRights)
     {
@@ -155,7 +203,8 @@
 
     private boolean isAllowedToModify(String userName)
     {
-        if (READWRITE.equals(_userRoles.getProperty(userName)))
+        if (ADMIN.equals(_userRoles.getProperty(userName))
+            || READWRITE.equals(_userRoles.getProperty(userName)))
         {
             return true;
         }

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management/ManagedObjectRegistry.java
 Fri Apr 20 08:00:06 2007
@@ -7,9 +7,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -22,6 +22,7 @@
 
 import javax.management.JMException;
 import java.rmi.RemoteException;
+import java.io.IOException;
 
 /**
  * Handles the registration (and unregistration and so on) of managed objects.
@@ -37,7 +38,7 @@
  */
 public interface ManagedObjectRegistry
 {
-    void start();
+    void start() throws IOException;
 
     void registerObject(ManagedObject managedObject) throws JMException;
 

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/AMQUserManagementMBean.java
 Fri Apr 20 08:00:06 2007
@@ -30,6 +30,7 @@
 import org.apache.commons.configuration.ConfigurationException;
 
 import javax.management.JMException;
+import javax.management.remote.JMXPrincipal;
 import javax.management.openmbean.TabularData;
 import javax.management.openmbean.TabularDataSupport;
 import javax.management.openmbean.TabularType;
@@ -40,6 +41,7 @@
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeDataSupport;
 import javax.security.auth.login.AccountNotFoundException;
+import javax.security.auth.Subject;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -47,8 +49,11 @@
 import java.util.Properties;
 import java.util.List;
 import java.util.Enumeration;
+import java.util.Set;
 import java.util.concurrent.locks.ReentrantLock;
 import java.security.Principal;
+import java.security.AccessControlContext;
+import java.security.AccessController;
 
 /** MBean class for AMQUserManagementMBean. It implements all the management 
features exposed for managing users. */
 @MBeanDescription("User Management Interface")
@@ -250,8 +255,6 @@
         // Table of users
         // Username(string), Access rights Read,Write,Admin(bool,bool,bool)
 
-        reloadData();
-        
         if (_userlistDataType == null)
         {
             _logger.warn("TabluarData not setup correctly");
@@ -411,7 +414,7 @@
                 rights.renameTo(old);
 
                 FileOutputStream output = new FileOutputStream(tmp);
-                _accessRights.store(output, "");
+                _accessRights.store(output, "Last edited by user:" + 
getCurrentJMXUser());
                 output.close();
 
                 // Rename new file to main file
@@ -432,6 +435,22 @@
                 _accessRightsUpdate.unlock();
             }
         }
+    }
+
+    private String getCurrentJMXUser()
+    {
+        AccessControlContext acc = AccessController.getContext();
+        Subject subject = Subject.getSubject(acc);
+
+        // Retrieve JMXPrincipal from Subject
+        Set<JMXPrincipal> principals = 
subject.getPrincipals(JMXPrincipal.class);
+        if (principals == null || principals.isEmpty())
+        {
+            return "Unknown user principals were null";
+        }
+
+        Principal principal = principals.iterator().next();
+        return principal.getName();
     }
 
     /**

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/access/UserManagement.java
 Fri Apr 20 08:00:06 2007
@@ -28,6 +28,7 @@
 import javax.management.openmbean.TabularData;
 import javax.management.openmbean.CompositeData;
 import javax.management.JMException;
+import javax.management.MBeanOperationInfo;
 import java.io.IOException;
 
 public interface UserManagement
@@ -43,7 +44,8 @@
      *
      * @return The result of the operation
      */
-    @MBeanOperation(name = "setPassword", description = "Set password for 
user.")              
+    @MBeanOperation(name = "setPassword", description = "Set password for 
user.",
+                    impact = MBeanOperationInfo.ACTION)
     boolean setPassword(@MBeanOperationParameter(name = "username", 
description = "Username")String username,
                         @MBeanOperationParameter(name = "password", 
description = "Password")char[] password);
 
@@ -57,7 +59,8 @@
      *
      * @return The result of the operation
      */
-    @MBeanOperation(name = "setRights", description = "Set access rights for 
user.")
+    @MBeanOperation(name = "setRights", description = "Set access rights for 
user.",
+                    impact = MBeanOperationInfo.ACTION)
     boolean setRights(@MBeanOperationParameter(name = "username", description 
= "Username")String username,
                       @MBeanOperationParameter(name = "read", description = 
"Administration read")boolean read,
                       @MBeanOperationParameter(name = "write", description = 
"Administration write")boolean write,
@@ -74,7 +77,8 @@
      *
      * @return The result of the operation
      */
-    @MBeanOperation(name = "createUser", description = "Create new user from 
system.")
+    @MBeanOperation(name = "createUser", description = "Create new user from 
system.",
+                    impact = MBeanOperationInfo.ACTION)
     boolean createUser(@MBeanOperationParameter(name = "username", description 
= "Username")String username,
                        @MBeanOperationParameter(name = "password", description 
= "Password")char[] password,
                        @MBeanOperationParameter(name = "read", description = 
"Administration read")boolean read,
@@ -88,7 +92,8 @@
      *
      * @return The result of the operation
      */
-    @MBeanOperation(name = "deleteUser", description = "Delete user from 
system.")
+    @MBeanOperation(name = "deleteUser", description = "Delete user from 
system.",
+                    impact = MBeanOperationInfo.ACTION)
     boolean deleteUser(@MBeanOperationParameter(name = "username", description 
= "Username")String username);
 
 
@@ -97,15 +102,17 @@
      *
      * @return The result of the operation
      */
-//    @MBeanOperation(name = "reloadData", description = "Reload the 
authentication file from disk.")
-//    boolean reloadData();
+    @MBeanOperation(name = "reloadData", description = "Reload the 
authentication file from disk.",
+                    impact = MBeanOperationInfo.ACTION)
+    boolean reloadData();
 
     /**
      * View users returns all the users that are currently available to the 
system.
      *
      * @return a table of users data (Username, read, write, admin)
      */
-    @MBeanOperation(name = "viewUsers", description = "All users with access 
rights to the system.")
+    @MBeanOperation(name = "viewUsers", description = "All users with access 
rights to the system.",
+                    impact = MBeanOperationInfo.INFO)
     TabularData viewUsers();
 
 }

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/Base64MD5PasswordFilePrincipalDatabase.java
 Fri Apr 20 08:00:06 2007
@@ -153,27 +153,19 @@
      *
      * @throws AccountNotFoundException if the principal cannot be found
      */
-    public boolean verifyPassword(String principal, String password) throws 
AccountNotFoundException
+    public boolean verifyPassword(String principal, char[] password) throws 
AccountNotFoundException
     {
-        try
-        {
-            char[] pwd = lookupPassword(principal);
-            byte[] passwordBytes = password.getBytes(DEFAULT_ENCODING);
+        char[] pwd = lookupPassword(principal);
 
-            int index = 0;
-            boolean verified = true;
+        int index = 0;
+        boolean verified = true;
 
-            while (verified & index < passwordBytes.length)
-            {
-                verified = (pwd[index] == (char) passwordBytes[index]);
-                index++;
-            }
-            return verified;
-        }
-        catch (UnsupportedEncodingException e)
+        while (verified & index < password.length)
         {
-            return false;
+            verified = (pwd[index] == password[index]);
+            index++;
         }
+        return verified;
     }
 
     public boolean updatePassword(Principal principal, char[] password) throws 
AccountNotFoundException
@@ -590,7 +582,7 @@
             int index = 0;
             for (char c : _password)
             {
-                byteArray[index++] = (byte)c;    
+                byteArray[index++] = (byte) c;
             }
             _encodedPassword = (new Base64()).encode(byteArray);
         }

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PlainPasswordFilePrincipalDatabase.java
 Fri Apr 20 08:00:06 2007
@@ -121,34 +121,18 @@
         }
     }
 
-    public boolean verifyPassword(String principal, String password) throws 
AccountNotFoundException
+    public boolean verifyPassword(String principal, char[] password) throws 
AccountNotFoundException
     {
         try
         {
             char[] pwd = lookupPassword(principal);
 
-            return compareCharArray(pwd, convertPassword(password));
+            return compareCharArray(pwd, password);
         }
         catch (IOException e)
         {
             return false;
         }
-    }
-
-    private char[] convertPassword(String password) throws 
UnsupportedEncodingException
-    {
-        byte[] passwdBytes = password.getBytes("utf-8");
-
-        char[] passwd = new char[passwdBytes.length];
-
-        int index = 0;
-
-        for (byte b : passwdBytes)
-        {
-            passwd[index++] = (char) b;
-        }
-
-        return passwd;
     }
 
     public boolean updatePassword(Principal principal, char[] password) throws 
AccountNotFoundException

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PrincipalDatabase.java
 Fri Apr 20 08:00:06 2007
@@ -55,7 +55,7 @@
      * @return true if password is correct
      * @throws AccountNotFoundException if the principal cannot be found
      */
-    boolean verifyPassword(String principal, String password)
+    boolean verifyPassword(String principal, char[] password)
             throws AccountNotFoundException;
 
     /**

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/database/PropertiesPrincipalDatabase.java
 Fri Apr 20 08:00:06 2007
@@ -79,18 +79,12 @@
         }
     }
 
-    public boolean verifyPassword(String principal, String password) throws 
AccountNotFoundException
+    public boolean verifyPassword(String principal, char[] password) throws 
AccountNotFoundException
     {
+        //fixme this is not correct as toCharArray is not safe based on the 
type of string.
         char[] pwd = _users.getProperty(principal).toCharArray();
 
-        try
-        {
-            return compareCharArray(pwd, convertPassword(password));
-        }
-        catch (UnsupportedEncodingException e)
-        {
-            return false;
-        }
+        return compareCharArray(pwd, password);
     }
 
     public boolean updatePassword(Principal principal, char[] password) throws 
AccountNotFoundException

Modified: 
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java?view=diff&rev=530832&r1=530831&r2=530832
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueAlertTest.java
 Fri Apr 20 08:00:06 2007
@@ -64,7 +64,7 @@
      */
     public void testMessageCountAlert() throws Exception
     {
-        _queue = new AMQQueue(new AMQShortString("testQueue1"), false,  new 
AMQShortString("AMQueueAlertTest"),
+        _queue = new AMQQueue(new AMQShortString("testQueue1"), false, new 
AMQShortString("AMQueueAlertTest"),
                               false, _virtualHost);
         _queueMBean = (AMQQueueMBean) _queue.getManagedObject();
 
@@ -87,7 +87,7 @@
      */
     public void testMessageSizeAlert() throws Exception
     {
-        _queue = new AMQQueue(new AMQShortString("testQueue2"), false,  new 
AMQShortString("AMQueueAlertTest"),
+        _queue = new AMQQueue(new AMQShortString("testQueue2"), false, new 
AMQShortString("AMQueueAlertTest"),
                               false, _virtualHost);
         _queueMBean = (AMQQueueMBean) _queue.getManagedObject();
         _queueMBean.setMaximumMessageCount(MAX_MESSAGE_COUNT);
@@ -112,7 +112,7 @@
      */
     public void testQueueDepthAlertNoSubscriber() throws Exception
     {
-        _queue = new AMQQueue(new AMQShortString("testQueue3"), false,  new 
AMQShortString("AMQueueAlertTest"),
+        _queue = new AMQQueue(new AMQShortString("testQueue3"), false, new 
AMQShortString("AMQueueAlertTest"),
                               false, _virtualHost);
         _queueMBean = (AMQQueueMBean) _queue.getManagedObject();
         _queueMBean.setMaximumMessageCount(MAX_MESSAGE_COUNT);
@@ -138,7 +138,7 @@
      */
     public void testMessageAgeAlert() throws Exception
     {
-        _queue = new AMQQueue(new AMQShortString("testQueue4"), false,  new 
AMQShortString("AMQueueAlertTest"),
+        _queue = new AMQQueue(new AMQShortString("testQueue4"), false, new 
AMQShortString("AMQueueAlertTest"),
                               false, _virtualHost);
         _queueMBean = (AMQQueueMBean) _queue.getManagedObject();
         _queueMBean.setMaximumMessageCount(MAX_MESSAGE_COUNT);
@@ -175,19 +175,19 @@
         _queue = getNewQueue();
         _queue.registerProtocolSession(protocolSession, channel.getChannelId(),
                                        new AMQShortString("consumer_tag"), 
true, null, false, false);
-        
+
         _queueMBean = (AMQQueueMBean) _queue.getManagedObject();
         _queueMBean.setMaximumMessageCount(9999l);   // Set a high value, 
because this is not being tested
         _queueMBean.setMaximumQueueDepth(MAX_QUEUE_DEPTH);
 
         // Send messages(no of message to be little more than what can cause a 
Queue_Depth alert)
-        int messageCount = Math.round(MAX_QUEUE_DEPTH/MAX_MESSAGE_SIZE) + 10;
+        int messageCount = Math.round(MAX_QUEUE_DEPTH / MAX_MESSAGE_SIZE) + 10;
         long totalSize = (messageCount * MAX_MESSAGE_SIZE) >> 10;
         sendMessages(messageCount, MAX_MESSAGE_SIZE);
 
         // Check queueDepth. There should be no messages on the queue and as 
the subscriber is listening
         // so there should be no Queue_Deoth alert raised
-        assertTrue(_queueMBean.getQueueDepth() == 0);
+        assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));
         Notification lastNotification = _queueMBean.getLastNotification();
         assertNull(lastNotification);
 
@@ -196,14 +196,13 @@
         _queue.unregisterProtocolSession(protocolSession, 
channel.getChannelId(), new AMQShortString("consumer_tag"));
         channel.requeue();
 
-        assertTrue(_queueMBean.getQueueDepth() == totalSize);
+        assertEquals(new Long(totalSize), new 
Long(_queueMBean.getQueueDepth()));
 
         lastNotification = _queueMBean.getLastNotification();
         assertNotNull(lastNotification);
         String notificationMsg = lastNotification.getMessage();
         
assertTrue(notificationMsg.startsWith(NotificationCheck.QUEUE_DEPTH_ALERT.name()));
 
-
         // Connect a consumer again and check QueueDepth values. The queue 
should get emptied.
         // Messages will get delivered but still are unacknowledged.
         _queue.registerProtocolSession(protocolSession, channel.getChannelId(),
@@ -213,19 +212,19 @@
         {
             Thread.sleep(100);
         }
-        assertTrue(_queueMBean.getQueueDepth() == 0);
+        assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));
 
         // Kill the subscriber again. Now those messages should get requeued 
again. Check if the queue depth
         // value is correct.
         _queue.unregisterProtocolSession(protocolSession, 
channel.getChannelId(), new AMQShortString("consumer_tag"));
         channel.requeue();
 
-        assertTrue(_queueMBean.getQueueDepth() == totalSize);
+        assertEquals(new Long(totalSize), new 
Long(_queueMBean.getQueueDepth()));
         protocolSession.closeSession();
 
         // Check the clear queue
         _queueMBean.clearQueue();
-        assertTrue(_queueMBean.getQueueDepth() == 0);
+        assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));
     }
 
     protected AMQMessage message(final boolean immediate, long size) throws 
AMQException
@@ -272,7 +271,7 @@
 
     private void sendMessages(long messageCount, long size) throws AMQException
     {
-        AMQMessage[] messages = new AMQMessage[(int)messageCount];
+        AMQMessage[] messages = new AMQMessage[(int) messageCount];
         for (int i = 0; i < messages.length; i++)
         {
             messages[i] = message(false, size);


Reply via email to