@@ -506,7 +506,7 @@ class OpenEphysHttpServer : juce::Thread {
506506 return ;
507507 }
508508
509- std::string procId;
509+ int procId;
510510 if (!request_json.contains (" id" )) {
511511 LOGD ( " No 'id' element found." );
512512 res.set_content (" Request must contain processor id." , " text/plain" );
@@ -518,7 +518,7 @@ class OpenEphysHttpServer : juce::Thread {
518518 LOGD ( " Found a processor id." );
519519 }
520520
521- auto processor = find_processor (procId);
521+ auto processor = find_processor (String ( procId). toStdString () );
522522 if (processor == nullptr ) {
523523 LOGD ( " Could not find processor" );
524524 res.status = 404 ;
@@ -533,9 +533,11 @@ class OpenEphysHttpServer : juce::Thread {
533533 String processorName = processor->getDisplayName ();
534534
535535 processorNodes.add (processor);
536+
537+ const MessageManagerLock mml;
536538 graph_->deleteNodes (processorNodes);
537539
538- return_msg = processorName + " [" + procId + " ] deleted successfully" ;
540+ return_msg = processorName + " [" + String ( procId) + " ] deleted successfully" ;
539541 } else {
540542 return_msg = " Cannot delete processors while acquisition is active." ;
541543 }
@@ -572,10 +574,11 @@ class OpenEphysHttpServer : juce::Thread {
572574 }
573575 else {
574576 procName = request_json[" name" ];
575- LOGD ( " Found a processor name. " );
577+ LOGD ( " Found processor name: " , procName );
576578 }
577579
578- std::string sourceNodeId, destNodeId;
580+ int sourceNodeId = 0 ;
581+ int destNodeId = 0 ;
579582 if (!request_json.contains (" source_id" ) && !request_json.contains (" dest_id" )) {
580583 LOGD ( " No 'source_id' or 'dest_id' element found." );
581584 res.set_content (" Request must contain source or destination processor node id." , " text/plain" );
@@ -615,24 +618,31 @@ class OpenEphysHttpServer : juce::Thread {
615618 {
616619 auto description = AccessClass::getProcessorList ()->getItemDescriptionfromList (procName);
617620
618- GenericProcessor *sourceProcessor, *destProcessor;
619- if (sourceNodeId.empty ())
621+ GenericProcessor* sourceProcessor = nullptr ;
622+ GenericProcessor* destProcessor = nullptr ;
623+
624+ if (sourceNodeId == 0 )
620625 {
621- destProcessor = graph_->getProcessorWithNodeId (std::stoi (destNodeId));
622- sourceProcessor = destProcessor->getSourceNode ();
623- sourceNodeId = std::to_string (sourceProcessor->getNodeId ());
626+ destProcessor = graph_->getProcessorWithNodeId (destNodeId);
624627 }
625628 else
626629 {
627- sourceProcessor = graph_->getProcessorWithNodeId (std::stoi (sourceNodeId));
628- destProcessor = sourceProcessor->getDestNode ();
630+ sourceProcessor = graph_->getProcessorWithNodeId (sourceNodeId);
629631 }
630-
631- graph_->createProcessor (description,
632- sourceProcessor,
633- destProcessor);
634632
635- return_msg = procName + " added after node " + sourceNodeId + " successfully" ;
633+ if (sourceProcessor == nullptr && destProcessor == nullptr )
634+ {
635+ return_msg = " Neither source node ID nor dest node ID could be found." ;
636+ }
637+ else {
638+ const MessageManagerLock mml;
639+ graph_->createProcessor (description,
640+ sourceProcessor,
641+ destProcessor);
642+
643+ return_msg = procName + " added successfully" ;
644+ }
645+
636646 } else {
637647 return_msg = " Cannot add processors while acquisition is active." ;
638648 }
0 commit comments