@Override public void handleResult(ProcessObject procObj) { try { logger.log(Level.INFO, "DSR Status Code: " + procObj.getProfile().getDsrStatusCode()); if (procObj.getProfile().getDsrStatusCode() == ResourceConst.SERVER_ERROR) { // DSR Recognition Failure logger.log(Level.WARNING, "No reponse bytes return. Failed to recognize speech."); String responseMsg = "Failed to recognize speech.[-1]"; handleError(ResourceConst.SERVER_ERROR, responseMsg); } else { // pipeline flow for (IResultsHandler handler : processConfig.getHandlers()) procObj = handler.process(procObj); procObj.statusCode = ResourceConst.SERVER_SUCCESS; } } catch (Exception e) { logger.log(Level.WARNING, "Unable to process request due to ", e); String responseMsg = "DSR C-server Error"; handleError(ResourceConst.SERVER_ERROR, responseMsg); } DSRExecutorResponse er = new DSRExecutorResponse(); er.setStatus(procObj.statusCode); er.setErrorMessage(procObj.errorMessage); er.setProcessObject(procObj); er.setExecutorType(executorType); procObj.profile.totalProcessEnd(); // call back to the framework with the result try { callback.doCallback(null, er); } catch (Exception e) { logger.log(Level.WARNING, "Exception calling back to server", e); } // callback.doEnd(); }
private void processMetaInfo(RecContext context) { profile.netIOBegin(); profile.totalProcessBegin(); CliTransaction cli = new CliTransaction(CliConstants.TYPE_MODULE); cli.setFunctionName("handleMeta"); // handle meta information if (context == null) { String responseMsg = "Unable to parse request meta data."; handleError(ResourceConst.SERVER_ERROR, responseMsg); cli.setStatus("responseMsg"); cli.complete(); } logger.log(Level.INFO, "Meta handled successfully"); // Set context obtained form meta procObj.setContext(context); // Set profiling data setProfileInfo(); // Obtain processConfig for corresponding recType int configId = procObj.getContext().recType; processConfig = ProcessConfigurationFactory.getConfiguration("" + configId); logger.log(Level.INFO, "Obtained process config instance for config id : " + configId); // Obtain proxy object proxy = processConfig.getProxy(); proxy.addResultListener(this); logger.log(Level.INFO, "Obtained proxy instance from process config"); // proxy.init(procObj); cli.complete(); }