public void Adding_an_actor_to_a_registry() { _auctionFactory = ActorFactory.Create(inbox => new Auction(inbox)); _auctionId = CombGuid.Generate(); ActorInstance auction = _auctionFactory.GetActor(); ActorRegistry registry = ActorRegistryFactory.New(x => { //x.Remote(r => r.ListenTo("rm://234.0.0.7:40001")); }); registry.Register(_auctionId, auction); var message = new MessageImpl<Bid>(new BidImpl(27.5m)); message.DestinationAddress = new Uri("urn:uuid:" + _auctionId.ToString("N")); registry.Send<Message<Bid>>(message); // need to proxy the channel with headers somehow... // untyped channel => channel mapper -> actor instance // DestinationAddress -> set by outbound channel proxy on message<> // SourceAddress -> set by outbound channel proxy when available (not likely) // ResponseAddress -> set by outbound channel for ResponseChannel on Request to map to channel // Id -> system assigned id // DestinationAddress = urn:actor:554FC958-4661-4FE9-94F5-21D190417BCC }
public void Should_identify_a_wrapped_message_behind_the_interface() { var message = new MyMessage(); var wrapped = new MessageImpl <MyMessage>(message); var collector = new TestCollector(typeof(MyMessage)); _contextFactory.Create(wrapped, collector); }
public static Message <T> Send <T>(this UntypedChannel channel, T message, Action <SetMessageHeader> messageCallback) { var messageImpl = new MessageImpl <T>(message); messageCallback(messageImpl); channel.Send <Message <T> >(messageImpl); return(messageImpl); }
public static Message <T> Send <T>(this UntypedChannel channel, object values) where T : class { if (!typeof(T).IsInterface) { throw new ArgumentException("Default Implementations can only be created for interfaces"); } var message = InterfaceImplementationExtensions.InitializeProxy <T>(values); var messageImpl = new MessageImpl <T>(message); channel.Send <Message <T> >(messageImpl); return(messageImpl); }
void IObserver <MessageData> .OnNext(MessageData value) { var matchDirected = regexDirected.Match(value.Body); var message = new MessageImpl(value, matchDirected.Success ? matchDirected.Groups[1].Value : null, isAddressedAtMe: matchDirected.Success); Parallel.ForEach(this.config.Modules, p => { try { p.OnMessage(message); } catch (Exception e) { // TODO: Bot: Handle plugin errors Console.Error.WriteLineAsync(e.ToString()); } }); }
/// <summary> /// Parses a query string, returning a <see cref="IQueryNode"/>. /// </summary> /// <param name="query">the query string to be parsed.</param> /// <param name="field"></param> /// <returns></returns> /// <exception cref="ParseException">if the parsing fails</exception> public IQueryNode Parse(string query, string field) { ReInit(new FastCharStream(new StringReader(query))); try { // TopLevelQuery is a Query followed by the end-of-input (EOF) IQueryNode querynode = TopLevelQuery(field); return(querynode); } catch (ParseException tme) { tme.SetQuery(query); throw tme; } catch (Exception tme) { IMessage message = new MessageImpl(QueryParserMessages.INVALID_SYNTAX_CANNOT_PARSE, query, tme.Message); QueryNodeParseException e = new QueryNodeParseException(tme); e.SetQuery(query); e.SetNonLocalizedMessage(message); throw e; } }
private Message ParseDataToMessage(MemoryStream data) { DataContractJsonSerializer detectSerializer = new DataContractJsonSerializer(typeof(MessageImpl)); MemoryStream copyData = new MemoryStream(); data.CopyTo(copyData); data.Position = copyData.Position = 0; MessageImpl messageDetect = (MessageImpl)detectSerializer.ReadObject(copyData); String[] typeInfo = messageDetect.type.Split('-'); String className = ""; if (typeInfo[1].Equals("RQ")) { className = "Gwupe.Cloud.Messaging.Request." + typeInfo[0] + "Rq"; } else if (typeInfo[1].Equals("RS")) { className = "Gwupe.Cloud.Messaging.Response." + typeInfo[0] + "Rs"; } else { throw new ProtocolException("Message type not recognised : " + messageDetect.type); } try { Type type = Type.GetType(className); DataContractJsonSerializer messageSerializer = new DataContractJsonSerializer(type); Message message = (Message)messageSerializer.ReadObject(data); return(message); } catch (Exception e) { throw new ProtocolException("Failed to deserialize message : " + e.Message); } }
protected internal virtual void DoRegisterTypes(ModelBuilder bpmnModelBuilder) { ActivationConditionImpl.RegisterType(bpmnModelBuilder); ActivityImpl.RegisterType(bpmnModelBuilder); ArtifactImpl.RegisterType(bpmnModelBuilder); AssignmentImpl.RegisterType(bpmnModelBuilder); AssociationImpl.RegisterType(bpmnModelBuilder); AuditingImpl.RegisterType(bpmnModelBuilder); BaseElementImpl.RegisterType(bpmnModelBuilder); BoundaryEventImpl.RegisterType(bpmnModelBuilder); BusinessRuleTaskImpl.RegisterType(bpmnModelBuilder); CallableElementImpl.RegisterType(bpmnModelBuilder); CallActivityImpl.RegisterType(bpmnModelBuilder); CallConversationImpl.RegisterType(bpmnModelBuilder); CancelEventDefinitionImpl.RegisterType(bpmnModelBuilder); CatchEventImpl.RegisterType(bpmnModelBuilder); CategoryValueImpl.RegisterType(bpmnModelBuilder); CategoryValueRef.RegisterType(bpmnModelBuilder); ChildLaneSet.RegisterType(bpmnModelBuilder); CollaborationImpl.RegisterType(bpmnModelBuilder); CompensateEventDefinitionImpl.RegisterType(bpmnModelBuilder); ConditionImpl.RegisterType(bpmnModelBuilder); ConditionalEventDefinitionImpl.RegisterType(bpmnModelBuilder); CompletionConditionImpl.RegisterType(bpmnModelBuilder); ComplexBehaviorDefinitionImpl.RegisterType(bpmnModelBuilder); ComplexGatewayImpl.RegisterType(bpmnModelBuilder); ConditionExpressionImpl.RegisterType(bpmnModelBuilder); ConversationAssociationImpl.RegisterType(bpmnModelBuilder); ConversationImpl.RegisterType(bpmnModelBuilder); ConversationLinkImpl.RegisterType(bpmnModelBuilder); ConversationNodeImpl.RegisterType(bpmnModelBuilder); CorrelationKeyImpl.RegisterType(bpmnModelBuilder); CorrelationPropertyBindingImpl.RegisterType(bpmnModelBuilder); CorrelationPropertyImpl.RegisterType(bpmnModelBuilder); CorrelationPropertyRef.RegisterType(bpmnModelBuilder); CorrelationPropertyRetrievalExpressionImpl.RegisterType(bpmnModelBuilder); CorrelationSubscriptionImpl.RegisterType(bpmnModelBuilder); DataAssociationImpl.RegisterType(bpmnModelBuilder); DataInputAssociationImpl.RegisterType(bpmnModelBuilder); DataInputImpl.RegisterType(bpmnModelBuilder); DataInputRefs.RegisterType(bpmnModelBuilder); DataOutputAssociationImpl.RegisterType(bpmnModelBuilder); DataOutputImpl.RegisterType(bpmnModelBuilder); DataOutputRefs.RegisterType(bpmnModelBuilder); DataPath.RegisterType(bpmnModelBuilder); DataStateImpl.RegisterType(bpmnModelBuilder); DataObjectImpl.RegisterType(bpmnModelBuilder); DataObjectReferenceImpl.RegisterType(bpmnModelBuilder); DataStoreImpl.RegisterType(bpmnModelBuilder); DefinitionsImpl.RegisterType(bpmnModelBuilder); DocumentationImpl.RegisterType(bpmnModelBuilder); EndEventImpl.RegisterType(bpmnModelBuilder); EndPointImpl.RegisterType(bpmnModelBuilder); EndPointRef.RegisterType(bpmnModelBuilder); ErrorEventDefinitionImpl.RegisterType(bpmnModelBuilder); ErrorImpl.RegisterType(bpmnModelBuilder); ErrorRef.RegisterType(bpmnModelBuilder); EscalationImpl.RegisterType(bpmnModelBuilder); EscalationEventDefinitionImpl.RegisterType(bpmnModelBuilder); EventBasedGatewayImpl.RegisterType(bpmnModelBuilder); EventDefinitionImpl.RegisterType(bpmnModelBuilder); EventDefinitionRef.RegisterType(bpmnModelBuilder); EventImpl.RegisterType(bpmnModelBuilder); ExclusiveGatewayImpl.RegisterType(bpmnModelBuilder); ExpressionImpl.RegisterType(bpmnModelBuilder); ExtensionElementsImpl.RegisterType(bpmnModelBuilder); ExtensionImpl.RegisterType(bpmnModelBuilder); FlowElementImpl.RegisterType(bpmnModelBuilder); FlowNodeImpl.RegisterType(bpmnModelBuilder); FlowNodeRef.RegisterType(bpmnModelBuilder); FormalExpressionImpl.RegisterType(bpmnModelBuilder); From.RegisterType(bpmnModelBuilder); GatewayImpl.RegisterType(bpmnModelBuilder); GlobalConversationImpl.RegisterType(bpmnModelBuilder); HumanPerformerImpl.RegisterType(bpmnModelBuilder); ImportImpl.RegisterType(bpmnModelBuilder); InclusiveGatewayImpl.RegisterType(bpmnModelBuilder); Incoming.RegisterType(bpmnModelBuilder); InMessageRef.RegisterType(bpmnModelBuilder); InnerParticipantRef.RegisterType(bpmnModelBuilder); InputDataItemImpl.RegisterType(bpmnModelBuilder); InputSetImpl.RegisterType(bpmnModelBuilder); InputSetRefs.RegisterType(bpmnModelBuilder); InteractionNodeImpl.RegisterType(bpmnModelBuilder); InterfaceImpl.RegisterType(bpmnModelBuilder); InterfaceRef.RegisterType(bpmnModelBuilder); IntermediateCatchEventImpl.RegisterType(bpmnModelBuilder); IntermediateThrowEventImpl.RegisterType(bpmnModelBuilder); IoBindingImpl.RegisterType(bpmnModelBuilder); IoSpecificationImpl.RegisterType(bpmnModelBuilder); ItemAwareElementImpl.RegisterType(bpmnModelBuilder); ItemDefinitionImpl.RegisterType(bpmnModelBuilder); LaneImpl.RegisterType(bpmnModelBuilder); LaneSetImpl.RegisterType(bpmnModelBuilder); LinkEventDefinitionImpl.RegisterType(bpmnModelBuilder); LoopCardinalityImpl.RegisterType(bpmnModelBuilder); LoopCharacteristicsImpl.RegisterType(bpmnModelBuilder); LoopDataInputRef.RegisterType(bpmnModelBuilder); LoopDataOutputRef.RegisterType(bpmnModelBuilder); ManualTaskImpl.RegisterType(bpmnModelBuilder); MessageEventDefinitionImpl.RegisterType(bpmnModelBuilder); MessageFlowAssociationImpl.RegisterType(bpmnModelBuilder); MessageFlowImpl.RegisterType(bpmnModelBuilder); MessageFlowRef.RegisterType(bpmnModelBuilder); MessageImpl.RegisterType(bpmnModelBuilder); MessagePath.RegisterType(bpmnModelBuilder); ModelElementInstanceImpl.RegisterType(bpmnModelBuilder); MonitoringImpl.RegisterType(bpmnModelBuilder); MultiInstanceLoopCharacteristicsImpl.RegisterType(bpmnModelBuilder); OperationImpl.RegisterType(bpmnModelBuilder); OperationRef.RegisterType(bpmnModelBuilder); OptionalInputRefs.RegisterType(bpmnModelBuilder); OptionalOutputRefs.RegisterType(bpmnModelBuilder); OuterParticipantRef.RegisterType(bpmnModelBuilder); OutMessageRef.RegisterType(bpmnModelBuilder); Outgoing.RegisterType(bpmnModelBuilder); OutputDataItemImpl.RegisterType(bpmnModelBuilder); OutputSetImpl.RegisterType(bpmnModelBuilder); OutputSetRefs.RegisterType(bpmnModelBuilder); ParallelGatewayImpl.RegisterType(bpmnModelBuilder); ParticipantAssociationImpl.RegisterType(bpmnModelBuilder); ParticipantImpl.RegisterType(bpmnModelBuilder); ParticipantMultiplicityImpl.RegisterType(bpmnModelBuilder); ParticipantRef.RegisterType(bpmnModelBuilder); PartitionElement.RegisterType(bpmnModelBuilder); PerformerImpl.RegisterType(bpmnModelBuilder); PotentialOwnerImpl.RegisterType(bpmnModelBuilder); ProcessImpl.RegisterType(bpmnModelBuilder); PropertyImpl.RegisterType(bpmnModelBuilder); ReceiveTaskImpl.RegisterType(bpmnModelBuilder); RelationshipImpl.RegisterType(bpmnModelBuilder); RenderingImpl.RegisterType(bpmnModelBuilder); ResourceAssignmentExpressionImpl.RegisterType(bpmnModelBuilder); ResourceImpl.RegisterType(bpmnModelBuilder); ResourceParameterBindingImpl.RegisterType(bpmnModelBuilder); ResourceParameterImpl.RegisterType(bpmnModelBuilder); ResourceRef.RegisterType(bpmnModelBuilder); ResourceRoleImpl.RegisterType(bpmnModelBuilder); RootElementImpl.RegisterType(bpmnModelBuilder); ScriptImpl.RegisterType(bpmnModelBuilder); ScriptTaskImpl.RegisterType(bpmnModelBuilder); SendTaskImpl.RegisterType(bpmnModelBuilder); SequenceFlowImpl.RegisterType(bpmnModelBuilder); ServiceTaskImpl.RegisterType(bpmnModelBuilder); SignalEventDefinitionImpl.RegisterType(bpmnModelBuilder); SignalImpl.RegisterType(bpmnModelBuilder); Source.RegisterType(bpmnModelBuilder); SourceRef.RegisterType(bpmnModelBuilder); StartEventImpl.RegisterType(bpmnModelBuilder); SubConversationImpl.RegisterType(bpmnModelBuilder); SubProcessImpl.RegisterType(bpmnModelBuilder); SupportedInterfaceRef.RegisterType(bpmnModelBuilder); Supports.RegisterType(bpmnModelBuilder); Target.RegisterType(bpmnModelBuilder); TargetRef.RegisterType(bpmnModelBuilder); TaskImpl.RegisterType(bpmnModelBuilder); TerminateEventDefinitionImpl.RegisterType(bpmnModelBuilder); TextImpl.RegisterType(bpmnModelBuilder); TextAnnotationImpl.RegisterType(bpmnModelBuilder); ThrowEventImpl.RegisterType(bpmnModelBuilder); TimeCycleImpl.RegisterType(bpmnModelBuilder); TimeDateImpl.RegisterType(bpmnModelBuilder); TimeDurationImpl.RegisterType(bpmnModelBuilder); TimerEventDefinitionImpl.RegisterType(bpmnModelBuilder); To.RegisterType(bpmnModelBuilder); TransactionImpl.RegisterType(bpmnModelBuilder); Transformation.RegisterType(bpmnModelBuilder); UserTaskImpl.RegisterType(bpmnModelBuilder); WhileExecutingInputRefs.RegisterType(bpmnModelBuilder); WhileExecutingOutputRefs.RegisterType(bpmnModelBuilder); // DC FontImpl.RegisterType(bpmnModelBuilder); PointImpl.RegisterType(bpmnModelBuilder); BoundsImpl.RegisterType(bpmnModelBuilder); // DI DiagramImpl.RegisterType(bpmnModelBuilder); DiagramElementImpl.RegisterType(bpmnModelBuilder); EdgeImpl.RegisterType(bpmnModelBuilder); impl.instance.di.ExtensionImpl.RegisterType(bpmnModelBuilder); LabelImpl.RegisterType(bpmnModelBuilder); LabeledEdgeImpl.RegisterType(bpmnModelBuilder); LabeledShapeImpl.RegisterType(bpmnModelBuilder); NodeImpl.RegisterType(bpmnModelBuilder); PlaneImpl.RegisterType(bpmnModelBuilder); ShapeImpl.RegisterType(bpmnModelBuilder); StyleImpl.RegisterType(bpmnModelBuilder); WaypointImpl.RegisterType(bpmnModelBuilder); // BPMNDI BpmnDiagramImpl.RegisterType(bpmnModelBuilder); BpmnEdgeImpl.RegisterType(bpmnModelBuilder); BpmnLabelImpl.RegisterType(bpmnModelBuilder); BpmnLabelStyleImpl.RegisterType(bpmnModelBuilder); BpmnPlaneImpl.RegisterType(bpmnModelBuilder); BpmnShapeImpl.RegisterType(bpmnModelBuilder); // camunda extensions CamundaConnectorImpl.RegisterType(bpmnModelBuilder); CamundaConnectorIdImpl.RegisterType(bpmnModelBuilder); CamundaConstraintImpl.RegisterType(bpmnModelBuilder); CamundaEntryImpl.RegisterType(bpmnModelBuilder); CamundaExecutionListenerImpl.RegisterType(bpmnModelBuilder); CamundaExpressionImpl.RegisterType(bpmnModelBuilder); CamundaFailedJobRetryTimeCycleImpl.RegisterType(bpmnModelBuilder); CamundaFieldImpl.RegisterType(bpmnModelBuilder); CamundaFormDataImpl.RegisterType(bpmnModelBuilder); CamundaFormFieldImpl.RegisterType(bpmnModelBuilder); CamundaFormPropertyImpl.RegisterType(bpmnModelBuilder); CamundaInImpl.RegisterType(bpmnModelBuilder); CamundaInputOutputImpl.RegisterType(bpmnModelBuilder); CamundaInputParameterImpl.RegisterType(bpmnModelBuilder); CamundaListImpl.RegisterType(bpmnModelBuilder); CamundaMapImpl.RegisterType(bpmnModelBuilder); CamundaOutputParameterImpl.RegisterType(bpmnModelBuilder); CamundaOutImpl.RegisterType(bpmnModelBuilder); CamundaPotentialStarterImpl.RegisterType(bpmnModelBuilder); CamundaPropertiesImpl.RegisterType(bpmnModelBuilder); CamundaPropertyImpl.RegisterType(bpmnModelBuilder); CamundaScriptImpl.RegisterType(bpmnModelBuilder); CamundaStringImpl.RegisterType(bpmnModelBuilder); CamundaTaskListenerImpl.RegisterType(bpmnModelBuilder); CamundaValidationImpl.RegisterType(bpmnModelBuilder); CamundaValueImpl.RegisterType(bpmnModelBuilder); }