use of org.apache.cxf.binding.corba.wsdl.Enum in project cxf by apache.
the class CorbaEnumHandlerTest method testCorbaEnumHandler.
@Test
public void testCorbaEnumHandler() {
Enum enumType = new Enum();
enumType.setName("EnumType");
enumType.setRepositoryID("IDL:EnumType:1.0");
Enumerator enumerator0 = new Enumerator();
enumerator0.setValue("ENUM0");
Enumerator enumerator1 = new Enumerator();
enumerator1.setValue("ENUM1");
Enumerator enumerator2 = new Enumerator();
enumerator2.setValue("ENUM2");
enumType.getEnumerator().add(enumerator0);
enumType.getEnumerator().add(enumerator1);
enumType.getEnumerator().add(enumerator2);
QName enumName = new QName("EnumType");
QName enumIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "EnumType", CorbaConstants.NP_WSDL_CORBA);
String[] members = new String[3];
members[0] = enumerator0.getValue();
members[1] = enumerator1.getValue();
members[2] = enumerator2.getValue();
TypeCode enumTC = orb.create_enum_tc(enumType.getRepositoryID(), enumType.getName(), members);
CorbaEnumHandler obj = new CorbaEnumHandler(enumName, enumIdlType, enumTC, enumType);
assertNotNull(obj);
obj.setValue(members[1]);
assertTrue(obj.getValue().equals(enumerator1.getValue()));
assertTrue(obj.getIndex() == 1);
}
use of org.apache.cxf.binding.corba.wsdl.Enum in project cxf by apache.
the class CorbaObjectReader method readEnum.
// -- complex types --
public void readEnum(CorbaObjectHandler obj) throws CorbaBindingException {
int enumIndex = stream.read_long();
Enum enumType = (Enum) obj.getType();
List<Enumerator> enumerators = enumType.getEnumerator();
CorbaEnumHandler enumObj = (CorbaEnumHandler) obj;
enumObj.setValue(enumerators.get(enumIndex).getValue());
}
use of org.apache.cxf.binding.corba.wsdl.Enum in project cxf by apache.
the class CorbaObjectReader method readEnumDiscriminator.
public void readEnumDiscriminator(CorbaUnionHandler unionHandler, CorbaEnumHandler disc) throws CorbaBindingException {
int enumIndex = stream.read_long();
Enum enumType = (Enum) disc.getType();
List<Enumerator> enumerators = enumType.getEnumerator();
if (enumIndex == Integer.MAX_VALUE) {
enumIndex = unionHandler.getDefaultIndex();
}
disc.setValue(enumerators.get(enumIndex).getValue());
}
use of org.apache.cxf.binding.corba.wsdl.Enum in project cxf by apache.
the class CorbaEnumHandler method setValue.
public void setValue(String val) {
value = val;
Enum enumType = (Enum) this.type;
List<Enumerator> enumerators = enumType.getEnumerator();
index = -1;
for (int i = 0; i < enumerators.size(); ++i) {
Enumerator e = enumerators.get(i);
if (e.getValue().equals(val)) {
index = i;
break;
}
}
}
use of org.apache.cxf.binding.corba.wsdl.Enum in project cxf by apache.
the class WSDLToCorbaHelper method createCorbaEnum.
private Enum createCorbaEnum(XmlSchemaSimpleTypeRestriction restrictionType, QName name, QName schematypeName) {
Enum corbaEnum = new Enum();
corbaEnum.setType(schematypeName);
corbaEnum.setName(name.getLocalPart());
corbaEnum.setQName(name);
corbaEnum.setRepositoryID(REPO_STRING + name.getLocalPart().replace('.', '/') + IDL_VERSION);
for (XmlSchemaFacet f : restrictionType.getFacets()) {
XmlSchemaEnumerationFacet val = (XmlSchemaEnumerationFacet) f;
Enumerator enumerator = new Enumerator();
enumerator.setValue(val.getValue().toString());
corbaEnum.getEnumerator().add(enumerator);
}
return corbaEnum;
}
Aggregations