From 33d98b44a0522d11f6671d0754d1792447d73bab Mon Sep 17 00:00:00 2001 From: Xiaogang Date: Thu, 2 Jul 2020 10:14:19 +0800 Subject: [PATCH] Revert "Emit Signal method and delegate to provide a hook into events" --- package.json | 2 +- powershell/cmdlets/class.ts | 5 ----- powershell/module/module-class.ts | 32 +------------------------------ 3 files changed, 2 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index e60ea94542..d6149912e7 100644 --- a/package.json +++ b/package.json @@ -10,4 +10,4 @@ "show-error": "echo ====== &echo ====== & echo ====== & echo REQUIRED: Install PowerShell-core 6.1 or greater (see readme.md) & echo ====== & echo ====== & echo ====== & exit 1", "pack": "rush publish --publish --pack --include-all --tag preview" } -} +} \ No newline at end of file diff --git a/powershell/cmdlets/class.ts b/powershell/cmdlets/class.ts index add077904b..7b08dff628 100644 --- a/powershell/cmdlets/class.ts +++ b/powershell/cmdlets/class.ts @@ -1023,11 +1023,6 @@ export class CmdletClass extends Class { yield `await ${$this.state.project.serviceNamespace.moduleClass.declaration}.Instance.Signal(${id.value}, ${token.value}, ${messageData.value}, (i,t,m) => ((${ClientRuntime.IEventListener})this).Signal(i,t,()=> ${ClientRuntime.EventDataConverter}.ConvertFrom( m() ) as ${ClientRuntime.EventData} ), ${$this.invocationInfo.value}, this.ParameterSetName, ${$this.correlationId.value}, ${$this.processRecordId.value}, null );`; yield If(`${token.value}.IsCancellationRequested`, Return()); } - else { - // In Non-Azure Modes, emit the Signal method without coorelation and processrecordid - yield `await ${$this.state.project.serviceNamespace.moduleClass.declaration}.Instance.Signal(${id.value}, ${token.value}, ${messageData.value}, (i,t,m) => ((${ClientRuntime.IEventListener})this).Signal(i,t,()=> ${ClientRuntime.EventDataConverter}.ConvertFrom( m() ) as ${ClientRuntime.EventData} ), ${$this.invocationInfo.value}, this.ParameterSetName, null );`; - yield If(`${token.value}.IsCancellationRequested`, Return()); - } yield `WriteDebug($"{id}: {(messageData().Message ?? ${System.String.Empty})}");`; // any handling of the signal on our side... }); diff --git a/powershell/module/module-class.ts b/powershell/module/module-class.ts index 63e1b38d9b..1bed829add 100644 --- a/powershell/module/module-class.ts +++ b/powershell/module/module-class.ts @@ -113,7 +113,6 @@ export class ModuleClass extends Class { this.add(new PartialMethod('AfterCreatePipeline', dotnet.Void, { parameters: [this.pInvocationInfo, this.pPipeline] })); this.add(new PartialMethod('CustomInit', dotnet.Void)); - /* Setting the Proxy */ this.add(new Method('SetProxyConfiguration', dotnet.Void, { parameters: [this.pProxy, this.pProxyCredential, this.pUseDefaultCredentials], @@ -129,23 +128,8 @@ export class ModuleClass extends Class { } createInitAndPipeline(namespace: Namespace) { - const $this = this; - // Custom Event Listener without Azure Spefic concepts. (ProcessId and CorelationId) - const customEventListenerFunc = System.Func( - dotnet.String, - System.Threading.CancellationToken, - System.Func(System.EventArgs), - this.incomingSignalFunc, - InvocationInfo, - dotnet.String, - System.Exception, - /* returns */ System.Threading.Tasks.Task()); - - const incomingSignalDelegate = namespace.add(new Alias('SignalDelegate', this.incomingSignalFunc)); - const eventListenerDelegate = namespace.add(new Alias('EventListenerDelegate', customEventListenerFunc)); - const EventListener = this.add(new Property('EventListener', eventListenerDelegate, { description: 'A delegate that gets called for each signalled event' })); - + // non-azure init method this.initMethod.add(function* () { yield '// called at module init time...'; yield 'CustomInit();'; @@ -168,20 +152,6 @@ export class ModuleClass extends Class { }); this.add(new LambdaProperty('Name', dotnet.String, new StringExpression(this.state.project.moduleName), { description: 'The Name of this module ' })); - - // Add Signal extensibility point - const pSignal = new Parameter('signal', incomingSignalDelegate, { description: 'The callback for the event dispatcher ' }); - // Emit signal extensibility points that called EventListenerDelegate, allowing us to handle Signals emitted by the Pipeline in the Auth Module - const signalImpl = this.add(new Method('Signal', System.Threading.Tasks.Task(), { - parameters: [this.pId, this.pToken, this.pGetEventData, pSignal, this.pInvocationInfo, this.pParameterSetName, this.pException], async: Modifier.Async, - description: 'Called to dispatch events to the common module listener', - returnsDescription: `A that will be complete when handling of the event is completed.` - })); - - signalImpl.push(Using('NoSynchronizationContext', '')); - signalImpl.add(function* () { - yield `await ${EventListener.value}?.Invoke(${$this.pId.value},${$this.pToken.value},${$this.pGetEventData.value}, ${pSignal.value}, ${$this.pInvocationInfo}, ${$this.pParameterSetName},${$this.pException});`; - }); } createAzureInitAndPipeline(namespace: Namespace) {