package org.jacorb.test.orb; import org.jacorb.test.ArrayServerPOA; import org.jacorb.test.any_sequenceHolder; import org.jacorb.test.boolean_sequenceHolder; import org.jacorb.test.char_sequenceHolder; import org.jacorb.test.color_enum; import org.jacorb.test.long_sequenceHolder; import org.omg.CORBA.Any; /** * @author Andre Spiegel spiegel@gnu.org */ public class ArrayServerImpl extends ArrayServerPOA { public void ping() { return; } public boolean reduce_boolean_sequence(boolean[] seq) { boolean parity = false; for (int i=0; i<seq.length; i++) { if (seq[i]) parity = !parity; } return parity; } public int sum_octet_sequence(byte[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int sum_short_sequence(short[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int sum_ushort_sequence(short[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int sum_long_sequence(int[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int sum_ulong_sequence(int[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int sum_longlong_sequence(long[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int sum_ulonglong_sequence(long[] seq) { int sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public float sum_float_sequence(float[] seq) { float sum = 0.0F; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public double sum_double_sequence(double[] seq) { double sum = 0; for (int i=0; i<seq.length; i++) { sum += seq[i]; } return sum; } public int reduce_enum_sequence(color_enum[] seq) { return seq.length; } public int reduce_char_sequence(char[] seq) { return seq.length; } public void return_illegal_char_sequence(char_sequenceHolder seq) { seq.value = new char[] { 'a', CharTest.EURO_SIGN, 'b' }; } public int reduce_wchar_sequence(char[] seq) { return seq.length; } public int reduce_any_sequence(Any[] seq) { return seq.length; } public void bounce_boolean_sequence (boolean[] seq_in, boolean_sequenceHolder seq_out) { seq_out.value = new boolean[seq_in.length]; System.arraycopy(seq_in, 0, seq_out.value, 0, seq_in.length); } public void bounce_long_sequence (int[] seq_in, long_sequenceHolder seq_out) { seq_out.value = new int[seq_in.length]; System.arraycopy(seq_in, 0, seq_out.value, 0, seq_in.length); } public void bounce_any_sequence (Any[] seq_in, any_sequenceHolder seq_out) { seq_out.value = new Any[seq_in.length]; System.arraycopy(seq_in, 0, seq_out.value, 0, seq_in.length); } }