1 8 9 package test.javax.management.remote.compliance.serialization.support; 10 11 import javax.management.Notification ; 12 import javax.management.remote.JMXConnectionNotification ; 13 import javax.management.remote.JMXProviderException ; 14 import javax.management.remote.JMXServerErrorException ; 15 import javax.management.remote.NotificationResult ; 16 import javax.management.remote.SubjectDelegationPermission ; 17 import javax.management.remote.TargetedNotification ; 18 import javax.management.remote.rmi.RMIConnector ; 19 20 23 public class RemoteComparator 24 { 25 26 public void compareJMXConnectionNotification(Object obj1, Object obj2) 27 { 28 JMXConnectionNotification jcn1 = (JMXConnectionNotification )obj1; 29 JMXConnectionNotification jcn2 = (JMXConnectionNotification )obj2; 30 boolean valid = jcn1.getConnectionId().equals(jcn2.getConnectionId()); 31 compareNotifications(jcn1, jcn2); 32 if (!valid) throw new RuntimeException (); 33 } 34 35 public void compareJMXProviderException(Object obj1, Object obj2) 36 { 37 JMXProviderException jpe1 = (JMXProviderException )obj1; 38 JMXProviderException jpe2 = (JMXProviderException )obj2; 39 boolean valid = true; 40 44 if (jpe1.getLocalizedMessage() != null) 45 valid = valid && (jpe1.getLocalizedMessage().equals(jpe2.getLocalizedMessage())); 46 if (jpe1.getMessage() != null) 47 valid = valid && (jpe1.getMessage().equals(jpe2.getMessage())); 48 49 valid = valid && (jpe1.toString().equals(jpe2.toString())); 50 if (!valid) throw new RuntimeException (); 51 } 52 53 public void compareJMXServerErrorException(Object obj1, Object obj2) 54 { 55 JMXServerErrorException jse1 = (JMXServerErrorException )obj1; 56 JMXServerErrorException jse2 = (JMXServerErrorException )obj2; 57 boolean valid = true; valid = valid && (jse1.getLocalizedMessage().equals(jse2.getLocalizedMessage())); 59 valid = valid && (jse1.getMessage().equals(jse2.getMessage())); 60 valid = valid && (jse1.toString().equals(jse2.toString())); 61 if (!valid) throw new RuntimeException (); 62 } 63 64 public void compareNotificationResult(Object obj1, Object obj2) 65 { 66 NotificationResult nr1 = (NotificationResult )obj1; 67 NotificationResult nr2 = (NotificationResult )obj2; 68 boolean valid = nr1.getEarliestSequenceNumber() == nr2.getEarliestSequenceNumber(); 69 valid = valid && (nr1.getNextSequenceNumber() == nr2.getNextSequenceNumber()); 70 TargetedNotification [] tns1 = nr1.getTargetedNotifications(); 71 TargetedNotification [] tns2 = nr2.getTargetedNotifications(); 72 73 if (tns1.length != tns2.length) 74 throw new RuntimeException (); 75 76 for (int i = 0; i < tns1.length; i++) 77 { 78 compareTargetedNotification(tns1[i], tns2[i]); 79 } 80 81 if (!valid) throw new RuntimeException (); 82 } 83 84 public void compareSubjectDelegationPermission(Object obj1, Object obj2) 85 { 86 SubjectDelegationPermission sdp1 = (SubjectDelegationPermission )obj1; 87 SubjectDelegationPermission sdp2 = (SubjectDelegationPermission )obj2; 88 boolean valid = sdp1.equals(sdp2); 89 valid = valid && (sdp1.getActions().equals(sdp2.getActions())); 90 valid = valid && (sdp1.getName().equals(sdp2.getName())); 91 valid = valid && (sdp1.implies(sdp2)); 92 93 if (!valid) throw new RuntimeException (); 94 } 95 96 public void compareTargetedNotification(Object obj1, Object obj2) 97 { 98 TargetedNotification tn1 = (TargetedNotification )obj1; 99 TargetedNotification tn2 = (TargetedNotification )obj2; 100 boolean valid = tn1.getListenerID().equals(tn2.getListenerID()); 101 compareNotifications(tn1.getNotification(), tn2.getNotification()); 102 103 if (!valid) throw new RuntimeException (); 104 } 105 106 private void compareNotifications(Notification not1, Notification not2) 107 { 108 boolean valid = (not1.getMessage().equals(not2.getMessage())); 109 valid = valid && (not1.getSequenceNumber() == not2.getSequenceNumber()); 110 valid = valid && (not1.getSource().equals(not2.getSource())); 111 valid = valid && (not1.getType().equals(not2.getType())); 112 valid = valid && (not1.getUserData().equals(not2.getUserData())); 113 if (!valid) throw new RuntimeException (); 114 } 115 116 public void compareRMIConnector(Object obj1, Object obj2) 117 { 118 RMIConnector rc1 = (RMIConnector )obj1; 119 RMIConnector rc2 = (RMIConnector )obj2; 120 boolean valid = true; 122 if (!valid) throw new RuntimeException (); 123 } 124 } 125 | Popular Tags |