FOSSology  4.5.1
Open Source License Compliance by Open Source Software
Decider.php
Go to the documentation of this file.
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2017 Siemens AG
4  SPDX-FileCopyrightText: © 2025 Tiyasa Kundu <tiyasakundu20@gmail.com>
5 
6  SPDX-License-Identifier: GPL-2.0-only
7 */
8 
13 namespace Fossology\UI\Api\Models;
14 
19 class Decider
20 {
25  private $nomosMonk;
30  private $bulkReused;
36  private $newScanner;
41  private $ojoDecider;
57 
61  private $deciderAgentPlugin;
62 
74  public function __construct($nomosMonk = false, $bulkReused = false,
75  $newScanner = false, $ojoDecider = false,
77  $copyrightDeactivation = false,
79  {
80  $this->setNomosMonk($nomosMonk);
81  $this->setBulkReused($bulkReused);
82  $this->setNewScanner($newScanner);
83  $this->setOjoDecider($ojoDecider);
87  }
88 
94  public function setUsingArray($deciderArray, $version = ApiVersion::V1)
95  {
96  if (array_key_exists(($version == ApiVersion::V2? "nomosMonk" : "nomos_monk"), $deciderArray)) {
97  $this->setNomosMonk($deciderArray[$version == ApiVersion::V2? "nomosMonk" : "nomos_monk"]);
98  }
99  if (array_key_exists(($version == ApiVersion::V2? "bulkReused" : "bulk_reused"), $deciderArray)) {
100  $this->setBulkReused($deciderArray[$version == ApiVersion::V2? "bulkReused" : "bulk_reused"]);
101  }
102  if (array_key_exists(($version == ApiVersion::V2? "newScanner" : "new_scanner"), $deciderArray)) {
103  $this->setNewScanner($deciderArray[$version == ApiVersion::V2? "newScanner" : "new_scanner"]);
104  }
105  if (array_key_exists(($version == ApiVersion::V2? "ojoDecider" : "ojo_decider"), $deciderArray)) {
106  $this->setOjoDecider($deciderArray[$version == ApiVersion::V2? "ojoDecider" : "ojo_decider"]);
107  }
108  if (array_key_exists(($version == ApiVersion::V2? "concludeLicenseType" : "conclude_license_type"), $deciderArray)) {
109  $this->setConcludeLicenseType($deciderArray[$version == ApiVersion::V2? "concludeLicenseType" : "conclude_license_type"]);
110  }
111  if (array_key_exists(($version == ApiVersion::V2? "copyrightDeactivation" : "copyright_deactivation"), $deciderArray)) {
112  $this->setCopyrightDeactivation($deciderArray[$version == ApiVersion::V2? "copyrightDeactivation" : "copyright_deactivation"]);
113  }
114  if (array_key_exists(($version == ApiVersion::V2? "copyrightClutterRemoval" : "copyright_clutter_removal"), $deciderArray)) {
115  $this->setCopyrightClutterRemoval($deciderArray[$version == ApiVersion::V2? "copyrightClutterRemoval" : "copyright_clutter_removal"]);
116  }
117  return $this;
118  }
119 
121 
124  public function getNomosMonk()
125  {
126  return $this->nomosMonk;
127  }
128 
132  public function getBulkReused()
133  {
134  return $this->bulkReused;
135  }
136 
140  public function getNewScanner()
141  {
142  return $this->newScanner;
143  }
144 
148  public function getOjoDecider()
149  {
150  return $this->ojoDecider;
151  }
152 
156  public function getConcludeLicenseType()
157  {
159  }
160 
164  public function getCopyrightDeactivation()
165  {
167  }
168 
172  public function getCopyrightClutterRemoval()
173  {
175  }
176 
178 
181  public function setNomosMonk($nomosMonk)
182  {
183  $this->nomosMonk = filter_var($nomosMonk, FILTER_VALIDATE_BOOLEAN);
184  }
185 
189  public function setBulkReused($bulkReused)
190  {
191  $this->bulkReused = filter_var($bulkReused, FILTER_VALIDATE_BOOLEAN);
192  }
193 
197  public function setNewScanner($newScanner)
198  {
199  $this->newScanner = filter_var($newScanner, FILTER_VALIDATE_BOOLEAN);
200  }
201 
205  public function setOjoDecider($ojoDecider)
206  {
207  $this->ojoDecider = filter_var($ojoDecider, FILTER_VALIDATE_BOOLEAN);
208  }
209 
214  {
215  if ($concludeLicenseType !== null) {
216  $this->concludeLicenseType = trim($concludeLicenseType);
217  } else {
218  $this->concludeLicenseType = "";
219  }
220  }
221 
225  public function setDeciderAgentPlugin($deciderAgentPlugin)
226  {
227  $this->deciderAgentPlugin = $deciderAgentPlugin;
228  }
229 
234  {
235  if ($this->deciderAgentPlugin && $this->deciderAgentPlugin->isSpacyInstalled()) {
236  $this->copyrightDeactivation = filter_var($copyrightDeactivation, FILTER_VALIDATE_BOOLEAN);
237  } else {
238  $this->copyrightDeactivation = false;
239  }
240  }
241 
246  {
247  if ($this->deciderAgentPlugin && $this->deciderAgentPlugin->isSpacyInstalled()) {
248  $this->copyrightClutterRemoval = filter_var($copyrightClutterRemoval, FILTER_VALIDATE_BOOLEAN);
249  } else {
250  $this->copyrightClutterRemoval = false;
251  }
252  }
253 
258  public function getArray($version = ApiVersion::V1)
259  {
260  if ($version == ApiVersion::V2) {
261  return [
262  "nomosMonk" => $this->nomosMonk,
263  "bulkReused" => $this->bulkReused,
264  "newScanner" => $this->newScanner,
265  "ojoDecider" => $this->ojoDecider,
266  "concludeLicenseType" => $this->concludeLicenseType,
267  "copyrightDeactivation" => $this->copyrightDeactivation,
268  "copyrightClutterRemoval" => $this->copyrightClutterRemoval
269  ];
270  } else {
271  return [
272  "nomos_monk" => $this->nomosMonk,
273  "bulk_reused" => $this->bulkReused,
274  "new_scanner" => $this->newScanner,
275  "ojo_decider" => $this->ojoDecider,
276  "conclude_license_type" => $this->concludeLicenseType,
277  "copyright_deactivation" => $this->copyrightDeactivation,
278  "copyright_clutter_removal" => $this->copyrightClutterRemoval
279  ];
280  }
281  }
282 }
setCopyrightClutterRemoval($copyrightClutterRemoval)
Definition: Decider.php:245
setCopyrightDeactivation($copyrightDeactivation)
Definition: Decider.php:233
__construct($nomosMonk=false, $bulkReused=false, $newScanner=false, $ojoDecider=false, $concludeLicenseType="", $copyrightDeactivation=false, $copyrightClutterRemoval=false)
Definition: Decider.php:74
getArray($version=ApiVersion::V1)
Definition: Decider.php:258
setUsingArray($deciderArray, $version=ApiVersion::V1)
Definition: Decider.php:94
setConcludeLicenseType($concludeLicenseType)
Definition: Decider.php:213
setDeciderAgentPlugin($deciderAgentPlugin)
Definition: Decider.php:225
char * trim(char *ptext)
Trimming whitespace.
Definition: fossconfig.c:690