private ExecuteType createExecuteType()
{
ExecuteType request = Wps10Factory.eINSTANCE.createExecuteType();
// identifier
CodeType codetype = Ows11Factory.eINSTANCE.createCodeType();
String iden = (String) this.properties.get(this.IDENTIFIER);
codetype.setValue(iden);
request.setIdentifier(codetype);
// service and version
request.setService("WPS"); // TODO: un-hardcode
request.setVersion("1.0.0"); // TODO: un-hardcode
// inputs - loop through inputs and add them
if ((this.inputs != null) && !this.inputs.isEmpty())
{
DataInputsType1 inputtypes = Wps10Factory.eINSTANCE.createDataInputsType1();
Set<Object> keyset = this.inputs.keySet();
Iterator<Object> iterator = keyset.iterator();
while (iterator.hasNext())
{
Object key = iterator.next();
List<DataType> objects = (List<DataType>) this.inputs.get(key);
// go through the list and create on input for each datatype in the list
Iterator<DataType> iterator2 = objects.iterator();
while (iterator2.hasNext())
{
// identifier
EObject oInput = iterator2.next();
if (oInput instanceof DataType) {
DataType dt = (DataType) oInput;
InputType input = Wps10Factory.eINSTANCE.createInputType();
CodeType ct = Ows11Factory.eINSTANCE.createCodeType();
ct.setValue((String) key);
input.setIdentifier(ct);
input.setData((DataType) dt);
inputtypes.getInput().add(input);
} else if (oInput instanceof InputReferenceType) {
InputReferenceType rt = (InputReferenceType) oInput;
InputType input = Wps10Factory.eINSTANCE.createInputType();
CodeType ct = Ows11Factory.eINSTANCE.createCodeType();
ct.setValue((String) key);
input.setIdentifier(ct);
input.setReference(rt);
inputtypes.getInput().add(input);
} else {
throw new IllegalStateException("The input for key " + key + " contain an unsupported object of type " + oInput.getClass());