KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > javax > management > remote > compliance > serialization > support > RemoteComparator


1 /*
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package test.javax.management.remote.compliance.serialization.support;
10
11 import javax.management.Notification JavaDoc;
12 import javax.management.remote.JMXConnectionNotification JavaDoc;
13 import javax.management.remote.JMXProviderException JavaDoc;
14 import javax.management.remote.JMXServerErrorException JavaDoc;
15 import javax.management.remote.NotificationResult JavaDoc;
16 import javax.management.remote.SubjectDelegationPermission JavaDoc;
17 import javax.management.remote.TargetedNotification JavaDoc;
18 import javax.management.remote.rmi.RMIConnector JavaDoc;
19
20 /**
21  * @version $Revision: 1.6 $
22  */

23 public class RemoteComparator
24 {
25
26    public void compareJMXConnectionNotification(Object JavaDoc obj1, Object JavaDoc obj2)
27    {
28       JMXConnectionNotification JavaDoc jcn1 = (JMXConnectionNotification JavaDoc)obj1;
29       JMXConnectionNotification JavaDoc jcn2 = (JMXConnectionNotification JavaDoc)obj2;
30       boolean valid = jcn1.getConnectionId().equals(jcn2.getConnectionId());
31       compareNotifications(jcn1, jcn2);
32       if (!valid) throw new RuntimeException JavaDoc();
33    }
34
35    public void compareJMXProviderException(Object JavaDoc obj1, Object JavaDoc obj2)
36    {
37       JMXProviderException JavaDoc jpe1 = (JMXProviderException JavaDoc)obj1;
38       JMXProviderException JavaDoc jpe2 = (JMXProviderException JavaDoc)obj2;
39       boolean valid = true;
40       /*
41       if (jpe1.getCause() != null)
42         valid = valid && (jpe1.getCause().equals(jpe2.getCause()));
43         */

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 JavaDoc();
51    }
52
53    public void compareJMXServerErrorException(Object JavaDoc obj1, Object JavaDoc obj2)
54    {
55       JMXServerErrorException JavaDoc jse1 = (JMXServerErrorException JavaDoc)obj1;
56       JMXServerErrorException JavaDoc jse2 = (JMXServerErrorException JavaDoc)obj2;
57       boolean valid = true; // jse1.getCause().getClass().equals(jse2.getCause().getClass());
58
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 JavaDoc();
62    }
63
64    public void compareNotificationResult(Object JavaDoc obj1, Object JavaDoc obj2)
65    {
66       NotificationResult JavaDoc nr1 = (NotificationResult JavaDoc)obj1;
67       NotificationResult JavaDoc nr2 = (NotificationResult JavaDoc)obj2;
68       boolean valid = nr1.getEarliestSequenceNumber() == nr2.getEarliestSequenceNumber();
69       valid = valid && (nr1.getNextSequenceNumber() == nr2.getNextSequenceNumber());
70       TargetedNotification JavaDoc[] tns1 = nr1.getTargetedNotifications();
71       TargetedNotification JavaDoc[] tns2 = nr2.getTargetedNotifications();
72
73       if (tns1.length != tns2.length)
74          throw new RuntimeException JavaDoc();
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 JavaDoc();
82    }
83
84    public void compareSubjectDelegationPermission(Object JavaDoc obj1, Object JavaDoc obj2)
85    {
86       SubjectDelegationPermission JavaDoc sdp1 = (SubjectDelegationPermission JavaDoc)obj1;
87       SubjectDelegationPermission JavaDoc sdp2 = (SubjectDelegationPermission JavaDoc)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 JavaDoc();
94    }
95
96    public void compareTargetedNotification(Object JavaDoc obj1, Object JavaDoc obj2)
97    {
98       TargetedNotification JavaDoc tn1 = (TargetedNotification JavaDoc)obj1;
99       TargetedNotification JavaDoc tn2 = (TargetedNotification JavaDoc)obj2;
100       boolean valid = tn1.getListenerID().equals(tn2.getListenerID());
101       compareNotifications(tn1.getNotification(), tn2.getNotification());
102
103       if (!valid) throw new RuntimeException JavaDoc();
104    }
105
106    private void compareNotifications(Notification JavaDoc not1, Notification JavaDoc 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 JavaDoc();
114    }
115
116    public void compareRMIConnector(Object JavaDoc obj1, Object JavaDoc obj2)
117    {
118       RMIConnector JavaDoc rc1 = (RMIConnector JavaDoc)obj1;
119       RMIConnector JavaDoc rc2 = (RMIConnector JavaDoc)obj2;
120       boolean valid = true; // rc1.getConnectionId().equals(rc2.getConnectionId());
121

122       if (!valid) throw new RuntimeException JavaDoc();
123    }
124 }
125
Popular Tags