Skip to content

Commit

Permalink
Packed v1.1.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
aratomo-arazon committed Feb 10, 2019
1 parent e578e87 commit 84ba4fd
Show file tree
Hide file tree
Showing 22 changed files with 553 additions and 242 deletions.
57 changes: 9 additions & 48 deletions src/WFLite/Activities/AssignActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@
* http://opensource.org/licenses/mit-license.php
*/

using System.Threading.Tasks;
using WFLite.Bases;
using WFLite.Enums;
using WFLite.Interfaces;

namespace WFLite.Activities
{
public class AssignActivity : Activity
public class AssignActivity : SyncActivity
{
public IInVariable To
{
Expand Down Expand Up @@ -49,7 +46,7 @@ protected sealed override void initialize()
{
}

protected sealed override async Task start()
protected sealed override bool run()
{
if (Converter == null)
{
Expand All @@ -60,23 +57,11 @@ protected sealed override async Task start()
To.SetValue(Converter.ConvertToObject(Value.GetValueAsObject()));
}

await Task.CompletedTask;

Status = ActivityStatus.Completed;
}

protected sealed override void stop()
{
Status = ActivityStatus.Stopped;
}

protected sealed override void reset()
{
Status = ActivityStatus.Created;
return true;
}
}

public class AssignActivity<TValue> : Activity
public class AssignActivity<TValue> : SyncActivity
{
public IInVariable<TValue> To
{
Expand Down Expand Up @@ -112,7 +97,7 @@ protected sealed override void initialize()
{
}

protected sealed override async Task start()
protected sealed override bool run()
{
if (Converter == null)
{
Expand All @@ -123,23 +108,11 @@ protected sealed override async Task start()
To.SetValue(Converter.Convert(Value.GetValueAsObject()));
}

await Task.CompletedTask;

Status = ActivityStatus.Completed;
}

protected sealed override void stop()
{
Status = ActivityStatus.Stopped;
}

protected sealed override void reset()
{
Status = ActivityStatus.Created;
return true;
}
}

public class AssignActivity<TTo, TValue> : Activity
public class AssignActivity<TTo, TValue> : SyncActivity
{
public IInVariable<TTo> To
{
Expand Down Expand Up @@ -175,7 +148,7 @@ protected sealed override void initialize()
{
}

protected sealed override async Task start()
protected sealed override bool run()
{
if (Converter == null)
{
Expand All @@ -186,19 +159,7 @@ protected sealed override async Task start()
To.SetValue(Converter.Convert(Value.GetValue()));
}

await Task.CompletedTask;

Status = ActivityStatus.Completed;
}

protected sealed override void stop()
{
Status = ActivityStatus.Stopped;
}

protected sealed override void reset()
{
Status = ActivityStatus.Created;
return true;
}
}
}
48 changes: 18 additions & 30 deletions src/WFLite/Activities/AsyncActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,10 @@

namespace WFLite.Activities
{
public class AsyncActivity : Activity
public abstract class AsyncActivity : Activity
{
private CancellationTokenSource _cancellationTokenSource;

public Func<CancellationToken, Task<bool>> Func
{
private get;
set;
}

public AsyncActivity()
{
}

public AsyncActivity(Func<CancellationToken, Task<bool>> func)
{
Func = func;
}

protected override void initialize()
{
}
Expand Down Expand Up @@ -74,14 +59,25 @@ protected sealed override void stop()
if (Status.IsCreated())
{
Status = ActivityStatus.Stopped;

return;
}
else
{
Status = ActivityStatus.Stopping;

if (_cancellationTokenSource != null)
Status = ActivityStatus.Stopping;

if (_cancellationTokenSource != null)
{
if (_cancellationTokenSource.Token.CanBeCanceled)
{
_cancellationTokenSource.Cancel();
try
{
_cancellationTokenSource.Cancel();
}
catch (Exception ex)
{

throw ex;
}
}
}
}
Expand All @@ -93,14 +89,6 @@ protected sealed override void reset()
Status = ActivityStatus.Created;
}

protected virtual Task<bool> run(CancellationToken cancellationToken)
{
if (Func == null)
{
return Task.FromResult(false);
}

return Func(cancellationToken);
}
protected abstract Task<bool> run(CancellationToken cancellationToken);
}
}
70 changes: 4 additions & 66 deletions src/WFLite/Activities/DelayActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,14 @@
* http://opensource.org/licenses/mit-license.php
*/

using System;
using System.Threading;
using System.Threading.Tasks;
using WFLite.Bases;
using WFLite.Enums;
using WFLite.Extensions;
using WFLite.Interfaces;

namespace WFLite.Activities
{
public class DelayActivity : Activity
public class DelayActivity : AsyncActivity
{
private CancellationTokenSource _cancellationTokenSource;

public IOutVariable<int> Duration
{
private get;
Expand All @@ -40,69 +34,13 @@ protected sealed override void initialize()
{
}

protected sealed override async Task start()
protected sealed override async Task<bool> run(CancellationToken cancellationToken)
{
Status = ActivityStatus.Executing;

var duration = Duration.GetValue();

using (_cancellationTokenSource = new CancellationTokenSource())
{
try
{
await Task.Delay(duration, _cancellationTokenSource.Token);

if (Status.IsStopping())
{
Status = ActivityStatus.Stopped;
}
else
{
Status = ActivityStatus.Completed;
}
}
catch (TaskCanceledException)
{
Status = ActivityStatus.Stopped;
}
}

_cancellationTokenSource = null;
}

protected sealed override void stop()
{
if (Status.IsCreated())
{
Status = ActivityStatus.Stopped;

return;
}

Status = ActivityStatus.Stopping;

if (_cancellationTokenSource != null)
{
if (_cancellationTokenSource.Token.CanBeCanceled)
{
try
{
_cancellationTokenSource.Cancel();
}
catch (Exception ex)
{

throw ex;
}
}
}
}

protected sealed override void reset()
{
_cancellationTokenSource = null;
await Task.Delay(duration, cancellationToken);

Status = ActivityStatus.Created;
return true;
}
}
}
1 change: 0 additions & 1 deletion src/WFLite/Activities/DelegateActivity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
using System.Threading.Tasks;
using WFLite.Bases;
using WFLite.Enums;
using WFLite.Extensions;
using WFLite.Interfaces;

namespace WFLite.Activities
Expand Down
Loading

0 comments on commit 84ba4fd

Please sign in to comment.