}catch(Exception ignored){}
if(osgiServ==null)
return exiting(false);
UPnPAction osgiAct = osgiServ.getAction(upnpAct.getName());
Properties inArgs = null;
ArgumentList alIn = upnpAct.getInputArgumentList();
ArgumentList alOut = upnpAct.getOutputArgumentList();
String[] inArg = osgiAct.getInputArgumentNames();
boolean invalidAction=false;
if(inArg!=null){
inArgs = new Properties();
Argument arg;
for (int j = 0; j < inArg.length; j++) {
arg=alIn.getArgument(inArg[j]);
try {
inArgs.put(
inArg[j],
Converter.parseString(
arg.getValue(),
arg.getRelatedStateVariable().getDataType()
/*osgiServ.getStateVariable(arg.getRelatedStateVariableName()).getUPnPDataType()*/
)
);
} catch (Exception e) {
invalidAction=true;
break;
}
}
}
Dictionary outArgs=null;
try {
outArgs=osgiAct.invoke(inArgs);
} catch (UPnPException e) {
//TODO Activator.logger.log()
upnpAct.setStatus(e.getUPnPError_Code(),e.getMessage());
invalidAction=true;
} catch (Exception e){
//TODO Activator.logger.log()
upnpAct.setStatus(UPnPStatus.ACTION_FAILED);
invalidAction=true;
}
if(invalidAction)
return exiting(false);
String[] outArg = osgiAct.getOutputArgumentNames();
if(outArg!=null){
Argument arg;
for (int j = 0; j < outArg.length; j++) {
arg = alOut.getArgument(outArg[j]);
try {