You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yoko-commits@incubator.apache.org by en...@apache.org on 2006/11/08 17:10:17 UTC
svn commit: r472546 -
/incubator/yoko/branches/cxf_port/bindings/src/main/java/org/apache/yoko/bindings/corba2/CorbaMessage.java
Author: enolan
Date: Wed Nov 8 09:10:16 2006
New Revision: 472546
URL: http://svn.apache.org/viewvc?view=rev&rev=472546
Log:
Update if the message already contains values - need to do correct initialisation.
Modified:
incubator/yoko/branches/cxf_port/bindings/src/main/java/org/apache/yoko/bindings/corba2/CorbaMessage.java
Modified: incubator/yoko/branches/cxf_port/bindings/src/main/java/org/apache/yoko/bindings/corba2/CorbaMessage.java
URL: http://svn.apache.org/viewvc/incubator/yoko/branches/cxf_port/bindings/src/main/java/org/apache/yoko/bindings/corba2/CorbaMessage.java?view=diff&rev=472546&r1=472545&r2=472546
==============================================================================
--- incubator/yoko/branches/cxf_port/bindings/src/main/java/org/apache/yoko/bindings/corba2/CorbaMessage.java (original)
+++ incubator/yoko/branches/cxf_port/bindings/src/main/java/org/apache/yoko/bindings/corba2/CorbaMessage.java Wed Nov 8 09:10:16 2006
@@ -35,49 +35,59 @@
public CorbaMessage(Message m) {
super(m);
+ if (m instanceof CorbaMessage) {
+ CorbaMessage msg = (CorbaMessage)m;
+ CorbaStreamable[] data = msg.getStreamableArguments();
+ setStreamableArguments(data);
+ returnParam = msg.getStreamableReturn();
+ except = msg.getStreamableException();
+ } else {
+ this.arguments = new ArrayList<CorbaStreamable>();
+ }
}
public CorbaStreamable getStreamableException() {
- return except;
- }
-
- public CorbaStreamable[] getStreamableArguments() {
- return arguments.toArray(new CorbaStreamable[0]);
+ return this.except;
}
public CorbaStreamable getStreamableReturn() {
- return returnParam;
+ return this.returnParam;
}
public void addStreamableArgument(CorbaStreamable arg) {
- if (arguments == null) {
- arguments = new ArrayList<CorbaStreamable>(1);
+ if (this.arguments == null) {
+ this.arguments = new ArrayList<CorbaStreamable>(1);
}
- arguments.add(arg);
+ this.arguments.add(arg);
+ }
+
+ public CorbaStreamable[] getStreamableArguments() {
+ return this.arguments.toArray(new CorbaStreamable[0]);
}
+
public void setStreamableArguments(CorbaStreamable[] data) {
- if (arguments == null) {
- arguments = new ArrayList<CorbaStreamable>(data.length);
+ if (this.arguments == null) {
+ this.arguments = new ArrayList<CorbaStreamable>(data.length);
}
- for (int i = 0; i < data.length; ++i) {
- arguments.set(i, data[i]);
- }
+ for (CorbaStreamable streamable : data) {
+ addStreamableArgument(streamable);
+ }
}
public void setStreamableArgumentValue(CorbaObjectHandler data, int idx) {
- if (idx >= arguments.size()) {
+ if (idx >= this.arguments.size()) {
throw new CorbaBindingException("setStreamableArgumentValue: Index out of range");
}
- arguments.get(idx).setObject(data);
+ this.arguments.get(idx).setObject(data);
}
public void setStreamableArgumentValues(CorbaObjectHandler[] data) {
for (int i = 0; i < data.length; ++i) {
- arguments.get(i).setObject(data[i]);
+ this.arguments.get(i).setObject(data[i]);
}
}
@@ -98,4 +108,5 @@
// TODO: Handle case of the return parameter has not yet been initialized.
except.setObject(exData);
}
+
}