Skip to content

Commit

Permalink
Add NULL persister for volatile workflows, #269
Browse files Browse the repository at this point in the history
  • Loading branch information
oliwel committed Jan 29, 2015
1 parent c224fe4 commit 28157ed
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 0 deletions.
1 change: 1 addition & 0 deletions core/server/MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,7 @@ OpenXPKI/Server/Workflow/Activity/SmartCard/GenerateActivationCode.pm
OpenXPKI/Server/Workflow/Activity/SmartCard/GetOwnerByCardID.pm


OpenXPKI/Server/Workflow/Persister/Null.pm
OpenXPKI/Server/Workflow/Persister/DBI.pm
OpenXPKI/Server/Workflow/Persister/DBI/SequenceId.pm

Expand Down
83 changes: 83 additions & 0 deletions core/server/OpenXPKI/Server/Workflow/Persister/Null.pm
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# OpenXPKI::Server::Workflow::Persister::Null

package OpenXPKI::Server::Workflow::Persister::Null;

use strict;
use base qw( Workflow::Persister );
use utf8;
use English;

use OpenXPKI::Debug;

use OpenXPKI::Server::Context qw( CTX );
use OpenXPKI::Exception;

sub init {
my $self = shift;
my $params = shift;

$self->SUPER::init( $params );

return; # no useful return value
}

sub create_workflow {
my $self = shift;
my $workflow = shift;
##! 1: "create volatile workflow"

CTX('log')->log(
MESSAGE => "Created volatile workflow for type ".$workflow->type(),
PRIORITY => "info",
FACILITY => "workflow"
);

return 0;
}

sub update_workflow {
my $self = shift;
my $workflow = shift;

##! 1: "update_workflow"
return 1;
}

sub fetch_workflow {

OpenXPKI::Exception->throw(
message => 'I18N_OPENXPKI_SERVER_WORKFLOW_FETCH_WORKFLOW_NOT_POSSBILE_WITH_NULL_PERSISTER',
);

}


sub create_history {
my $self = shift;
my $workflow = shift;
return ();
}


sub fetch_history {

return ();
}


1;
__END__
=head1 Name
OpenXPKI::Server::Workflow::Persister::Null
=head1 Description
B<THIS IS AN EXPERIMENTAL FEATURE>
This class provides a persister for "throw away" workflows. Those are not
persisted and therefore are only useable for "one shot" operations.
Be aware that you loose all workflow related data once the workflows ends!

0 comments on commit 28157ed

Please sign in to comment.