1 /* |
1 /* |
2 * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. |
2 * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
34 |
34 |
35 private static final Logger logger = Logger.getLogger("reliability.orange"); |
35 private static final Logger logger = Logger.getLogger("reliability.orange"); |
36 private final String name; |
36 private final String name; |
37 |
37 |
38 public OrangeImpl(String name) throws RemoteException { |
38 public OrangeImpl(String name) throws RemoteException { |
39 this.name = name; |
39 this.name = name; |
40 } |
40 } |
41 |
41 |
42 /** |
42 /** |
43 * Return inverted message data, call through supplied OrangeEcho |
43 * Return inverted message data, call through supplied OrangeEcho |
44 * object if not at recursion level zero. |
44 * object if not at recursion level zero. |
45 */ |
45 */ |
46 public int[] recurse(OrangeEcho echo, int[] message, int level) |
46 public int[] recurse(OrangeEcho echo, int[] message, int level) |
47 throws RemoteException |
47 throws RemoteException |
48 { |
48 { |
49 String threadName = Thread.currentThread().getName(); |
49 String threadName = Thread.currentThread().getName(); |
50 logger.log(Level.FINEST, |
50 logger.log(Level.FINEST, |
51 threadName + ": " + toString() + ".recurse(message[" |
51 threadName + ": " + toString() + ".recurse(message[" |
52 + message.length + "], " + level + "): BEGIN"); |
52 + message.length + "], " + level + "): BEGIN"); |
53 |
53 |
54 int[] response; |
54 int[] response; |
55 if (level > 0) { |
55 if (level > 0) { |
56 response = echo.recurse(this, message, level); |
56 response = echo.recurse(this, message, level); |
57 } else { |
57 } else { |
58 for (int i = 0; i < message.length; i++) { |
58 for (int i = 0; i < message.length; i++) { |
59 message[i] = ~message[i]; |
59 message[i] = ~message[i]; |
60 } |
60 } |
61 response = message; |
61 response = message; |
62 } |
62 } |
63 |
63 |
64 logger.log(Level.FINEST, |
64 logger.log(Level.FINEST, |
65 threadName + ": " + toString() + ".recurse(message[" |
65 threadName + ": " + toString() + ".recurse(message[" |
66 + message.length + "], " + level + "): END"); |
66 + message.length + "], " + level + "): END"); |
67 |
67 |
68 return response; |
68 return response; |
69 } |
69 } |
70 |
70 |
71 public String toString() { |
71 public String toString() { |
72 return name; |
72 return name; |
73 } |
73 } |
74 } |
74 } |