r4578 - trunk/src/perl
walbridge at ecoinformatics.org
walbridge at ecoinformatics.org
Wed Nov 19 11:13:01 PST 2008
Author: walbridge
Date: 2008-11-19 11:13:01 -0800 (Wed, 19 Nov 2008)
New Revision: 4578
Modified:
trunk/src/perl/register-dataset.cgi
Log:
Add incrementRevision function to replace duplicated code
Modified: trunk/src/perl/register-dataset.cgi
===================================================================
--- trunk/src/perl/register-dataset.cgi 2008-11-19 18:58:00 UTC (rev 4577)
+++ trunk/src/perl/register-dataset.cgi 2008-11-19 19:13:01 UTC (rev 4578)
@@ -436,16 +436,8 @@
debug("Registry: B3");
} else {
# document is being modified
- $docid = $FORM::docid;
+ $docid = incrementRevision($FORM::docid);
- my $x;
- my $y;
- my $z;
-
- ($x, $y, $z) = split(/\./, $docid);
- $z++;
- $docid = "$x.$y.$z";
-
$xmldoc =~ s/docid/$docid/;
debugDoc($xmldoc);$
@@ -564,6 +556,19 @@
return $docid;
}
+sub incrementRevision {
+ my $initDocid = shift;
+ my $docid = '';
+ if (!$initDocid) {
+ debug("Registry: No docid entered.");
+ } else {
+ my ($scope, $id, $rev) = split(/\./, $initDocid);
+ $rev++;
+ $docid = "$scope.$id.$rev";
+ }
+ return $docid;
+}
+
################################################################################
#
# Validate the parameters to make sure that required params are provided
@@ -2919,16 +2924,8 @@
#debug("Document created by handleModAccept is " . $emldoc);
# update the document
- my $docid = $FORM::docid;
+ my $newDocid = incrementRevision($docid);
- my $x;
- my $y;
- my $z;
-
- ($x, $y, $z) = split(/\./, $docid);
- $z++;
- my $newDocid = "$x.$y.$z";
-
$emldoc =~ s/packageId=\"$docid\"/packageId=\"$newDocid\"/;
$response = $metacat->update($newDocid, $emldoc);
@@ -3221,21 +3218,13 @@
#debug("Document created by handleModAccept is " . $emldoc);
# update the document
my $docid = $FORM::docid;
+ my $newDocid = incrementRevision($docid);
- my $x;
- my $y;
- my $z;
-
- ($x, $y, $z) = split(/\./, $docid);
- $z++;
- my $newDocid = "$x.$y.$z";
-
$emldoc =~ s/packageId=\"$docid\"/packageId=\"$newDocid\"/;
$response = $metacat->update($newDocid, $emldoc);
if (!$response) {
debug("Error while updating in handleModAccept.".$metacat->getMessage());
- #push(@errorMessages, $metacat->getMessage());
$errorMessage = $errorMessage." Failed while updating the document with additional Metadata.";
}
@@ -3305,9 +3294,7 @@
} else {
my ($reviewdoc, $temp) = split('</reviewHistory>', $doc);
$reviewdoc .= $review."\n</reviewHistory>\n";
- ($x, $y, $z) = split(/\./, $reviewDocumentId);
- $z++;
- $reviewDocumentId = "$x.$y.$z";
+ $reviewDocumentId = incrementRevision($reviewDocumentId);
$response = $metacat->update($reviewDocumentId, $reviewdoc);
if ($response != '1') {
return " Unable to update the review on Metacat for the docid:".$docid;
More information about the Metacat-cvs
mailing list