示例#1
0
 /**
  * Check if transforming required and create job if needed
  * 
  * @param MetadataProfile $metadataProfile
  * @param int $prevVersion
  * @param string $prevXsdPath
  * 
  * @return BatchJob
  */
 public static function diffMetadataProfile(MetadataProfile $metadataProfile, $prevVersion, $prevXsdPath, $newVersion, $newXsdPath)
 {
     $xsl = kXsd::compareXsd($prevXsdPath, $newXsdPath);
     if (!$xsl) {
         return;
     }
     if (is_bool($xsl)) {
         return self::addTransformMetadataJob($metadataProfile->getPartnerId(), $metadataProfile->getId(), $prevVersion, $newVersion);
     }
     return self::addTransformMetadataJob($metadataProfile->getPartnerId(), $metadataProfile->getId(), $prevVersion, $newVersion, $xsl);
 }
示例#2
0
 /**
  * Check if transforming required and create job if needed
  *
  * @param MetadataProfile $metadataProfile
  * @param int $prevVersion
  * @param string $prevXsd
  */
 public static function diffMetadataProfile(MetadataProfile $metadataProfile, $prevXsd, $newXsd)
 {
     $xsl = true;
     if (!PermissionPeer::isValidForPartner(MetadataPermissionName::FEATURE_METADATA_NO_VALIDATION, $metadataProfile->getPartnerId())) {
         $xsl = kXsd::compareXsd($prevXsd, $newXsd);
     }
     if ($xsl === true) {
         return;
     }
     if (PermissionPeer::isValidForPartner(MetadataPermissionName::FEATURE_METADATA_NO_TRANSFORMATION, $metadataProfile->getPartnerId())) {
         throw new kXsdException(kXsdException::TRANSFORMATION_REQUIRED);
     }
     $prevVersion = $metadataProfile->getVersion();
     $metadataProfile->incrementVersion();
     $newVersion = $metadataProfile->getVersion();
     $metadataProfile->save();
     //save has to be before we create a batch to make sure there is no race-condition where XSD is not updated before the batch runs.
     return self::addTransformMetadataJob($metadataProfile->getPartnerId(), $metadataProfile->getId(), $prevVersion, $newVersion, $xsl);
 }
 /**
  * Check if transforming required and create job if needed
  * 
  * @param MetadataProfile $metadataProfile
  * @param int $prevVersion
  * @param string $prevXsdPath
  */
 public static function diffMetadataProfile(MetadataProfile $metadataProfile, $prevVersion, $prevXsdPath, $newVersion, $newXsdPath)
 {
     $xsl = true;
     if (!PermissionPeer::isValidForPartner(MetadataPermissionName::FEATURE_METADATA_NO_VALIDATION, $metadataProfile->getPartnerId())) {
         $xsl = kXsd::compareXsd($prevXsdPath, $newXsdPath);
         if (!$xsl) {
             return;
         }
     }
     if (is_bool($xsl)) {
         return self::upgradeMetadataObjects($metadataProfile->getId(), $prevVersion, $newVersion);
     }
     return self::addTransformMetadataJob($metadataProfile->getPartnerId(), $metadataProfile->getId(), $prevVersion, $newVersion, $xsl);
 }