private function processItem(Item $item) { $itemTreeBounds = $item->getItemTreeBounds(); $unMappedMatches = $this->agentLicenseEventProcessor->getLatestScannerDetectedMatches($itemTreeBounds); $projectedScannerMatches = $this->remapByProjectedId($unMappedMatches); $lastDecision = $this->clearingDao->getRelevantClearingDecision($itemTreeBounds, $this->groupId); if (null !== $lastDecision && $lastDecision->getType() == DecisionTypes::IRRELEVANT) { return 0; } $currentEvents = $this->clearingDao->getRelevantClearingEvents($itemTreeBounds, $this->groupId); $markAsWip = false; if (null !== $lastDecision && $projectedScannerMatches && ($this->activeRules & self::RULES_WIP_SCANNER_UPDATES) == self::RULES_WIP_SCANNER_UPDATES) { $licensesFromDecision = array(); foreach ($lastDecision->getClearingLicenses() as $clearingLicense) { $licenseIdFromEvent = $this->licenseMap->getProjectedId($clearingLicense->getLicenseId()); $licensesFromDecision[$licenseIdFromEvent] = $licenseIdFromEvent; } $markAsWip = $this->existsUnhandledMatch($projectedScannerMatches, $licensesFromDecision); } if (null !== $lastDecision && $markAsWip) { $this->clearingDao->markDecisionAsWip($item->getId(), $this->userId, $this->groupId); return 1; } if (null !== $lastDecision || 0 < count($currentEvents)) { return 0; } $haveDecided = false; if (($this->activeRules & self::RULES_NOMOS_IN_MONK) == self::RULES_NOMOS_IN_MONK) { $haveDecided = $this->autodecideNomosMatchesInsideMonk($itemTreeBounds, $projectedScannerMatches); } if (!$haveDecided && ($this->activeRules & self::RULES_NOMOS_MONK_NINKA) == self::RULES_NOMOS_MONK_NINKA) { $haveDecided = $this->autodecideNomosMonkNinka($itemTreeBounds, $projectedScannerMatches); } if (!$haveDecided && $markAsWip) { $this->clearingDao->markDecisionAsWip($item->getId(), $this->userId, $this->groupId); } return $haveDecided || $markAsWip ? 1 : 0; }
public function testGetPreviousItemWithMultipleFiles() { $subentries = $this->getSubentriesForMultipleFiles(); $this->prepareModularTable($subentries); $nextItem = $this->uploadDao->getPreviousItem(1, 6); assertThat($nextItem, anInstanceOf(Item::classname())); assertThat($nextItem->getId(), is(8)); }
public function testIsFile() { $this->assertTrue($this->item->isFile()); }