MobyNamespaceType - LSID Metadata Handler
use MOBY::lsid::authority::MobyMetadataResolver; # create a LS::Service::DataService and pass it our handler my $metadata = LS::Service::DataService->new(); $metadata->addNamespace( MobyNamespaceType->new() );
This module implements the subroutines needed to implement an LSID authority service that handles this namespace.
Edward Kawas (edward.kawas [at] gmail [dot] com)
This subroutine is the handler that actually performs the action when getMetadata is called on an LSID under this namespace
This routine has 2 parameters: lsid - the LSID format - output format <optional>
Example: getMetadata(LS::ID->new('urn:lsid:authority:namespace:object'));
A LS::Service::Response is returned if getMetadata is successful.
This subroutine checks to see whether the thing that the LSID points to exists at all.
This routine has 3 parameters: namespace - the LSID namespace id - the LSID object revision - the LSID revision
Example: lsidExists('someNamespace','someObject','someRevision');
If the thing pointed at by the lsid exists, then 1 is returned. Otherwise undef is returned.
This subroutine checks to see whether the LSID is the latest, based on the revision.
Example: isLatest('someNamespace','someObject','someRevision');
If the lsid is the latest, then undef is returned. If the lsid doesnt exist, then an empty string is returned. And if the lsid isnt the latest, then the latest lsid is returned.
MobyServiceType - LSID Metadata Handler
use MOBY::lsid::authority::MobyMetadataResolver; # create a LS::Service::DataService and pass it our handler my $metadata = LS::Service::DataService->new(); $metadata->addNamespace( MobyServiceType->new() );
MobyObjectClass - LSID Metadata Handler
use MOBY::lsid::authority::MobyMetadataResolver; # create a LS::Service::DataService and pass it our handler my $metadata = LS::Service::DataService->new(); $metadata->addNamespace( MobyObjectClass->new() );
MobyServiceInstance - LSID Metadata Handler
use MOBY::lsid::authority::MobyMetadataResolver; # create a LS::Service::DataService and pass it our handler my $metadata = LS::Service::DataService->new(); $metadata->addNamespace( MobyServiceInstance->new() );
This subroutine is the handler that actually performs the action when getData is called on an LSID under this namespace
Example: getData(LS::ID->new('urn:lsid:authority:namespace:object'));
A LS::Service::Response is returned if getData is successful.
This subroutine obtains the wsdl for moby services given the name/auth combination. It uses the registry that is set in the enviroment. TODO - might have to change this behaviour, if we think of a good reason!
To install MOBY, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MOBY
CPAN shell
perl -MCPAN -e shell install MOBY
For more information on module installation, please visit the detailed CPAN module installation guide.