- Updated class \ncc\Objects\SymlinkDictionary > SymlinkEntry to use method calls rather than direct property access

This commit is contained in:
Netkas 2023-08-28 18:31:59 -04:00
parent cda454a9c1
commit 424b503f42
No known key found for this signature in database
GPG key ID: 5DAF58535614062B
3 changed files with 79 additions and 26 deletions

View file

@ -175,6 +175,7 @@ features and reduced the number of exceptions down to 15 exceptions.
and implemented `BytecodeObjectInterface`
- Updated class `\ncc\Objects\PackageLock > VersionEntry` to use method calls rather than direct property access
and implemented `BytecodeObjectInterface`
- Updated class `\ncc\Objects\SymlinkDictionary > SymlinkEntry` to use method calls rather than direct property access
### Removed
- Removed `FileNotFoundException` and `DirectoryNotFoundException` from `\ncc\Exceptions`

View file

@ -192,8 +192,10 @@
{
foreach($this->SymlinkDictionary as $entry)
{
if($entry->Package === $package)
if($entry->getPackage() === $package)
{
return true;
}
}
return false;
@ -221,8 +223,8 @@
}
$entry = new SymlinkEntry();
$entry->Package = $package;
$entry->ExecutionPolicyName = $unit;
$entry->setPackage($package);
$entry->setExecutionPolicyName($unit);
$this->SymlinkDictionary[] = $entry;
$this->save();
@ -250,13 +252,13 @@
foreach($this->SymlinkDictionary as $key => $entry)
{
if($entry->Package === $package)
if($entry->getPackage() === $package)
{
if($entry->Registered)
if($entry->isRegistered())
{
$filesystem = new Filesystem();
$symlink_name = explode('.', $entry->Package)[count(explode('.', $entry->Package)) - 1];
$symlink_name = explode('.', $entry->getPackage())[count(explode('.', $entry->getPackage())) - 1];
$symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name;
if($filesystem->exists($symlink))
@ -286,9 +288,9 @@
{
foreach($this->SymlinkDictionary as $key => $entry)
{
if($entry->Package === $package)
if($entry->getPackage() === $package)
{
$entry->Registered = true;
$entry->setRegistered(true);
$this->SymlinkDictionary[$key] = $entry;
$this->save();
return;
@ -316,10 +318,12 @@
foreach($this->SymlinkDictionary as $entry)
{
if($entry->Registered)
if($entry->isRegistered())
{
continue;
}
$symlink_name = explode('.', $entry->Package)[count(explode('.', $entry->Package)) - 1];
$symlink_name = explode('.', $entry->getPackage())[count(explode('.', $entry->getPackage())) - 1];
$symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name;
if($filesystem->exists($symlink))
@ -330,11 +334,11 @@
try
{
$package_entry = $package_lock_manager->getPackageLock()->getPackage($entry->Package);
$package_entry = $package_lock_manager->getPackageLock()->getPackage($entry->getPackage());
if($package_entry === null)
{
Console::outWarning(sprintf('Package %s is not installed, skipping', $entry->Package));
Console::outWarning(sprintf('Package %s is not installed, skipping', $entry->getPackage()));
continue;
}
@ -344,13 +348,13 @@
catch(Exception $e)
{
$filesystem->remove($symlink);
Console::outWarning(sprintf('Failed to get package %s, skipping', $entry->Package));
Console::outWarning(sprintf('Failed to get package %s, skipping', $entry->getPackage()));
continue;
}
try
{
$entry_point_path = $execution_pointer_manager->getEntryPointPath($entry->Package, $latest_version, $entry->ExecutionPolicyName);
$entry_point_path = $execution_pointer_manager->getEntryPointPath($entry->getPackage(), $latest_version, $entry->getExecutionPolicyName());
$filesystem->symlink($entry_point_path, $symlink);
}
catch(Exception $e)
@ -364,7 +368,7 @@
unset($e);
}
$this->setAsRegistered($entry->Package);
$this->setAsRegistered($entry->getPackage());
}
}

View file

@ -34,29 +34,77 @@
*
* @var string
*/
public $Package;
private $package;
/**
* The name of the execution policy to execute
*
* @var string
*/
public $ExecutionPolicyName;
private $execution_policy_name;
/**
* Indicates if this symlink is currently registered by NCC
*
* @var bool
*/
public $Registered;
private $registered;
/**
* Public Constructor
*/
public function __construct()
{
$this->ExecutionPolicyName = 'main';
$this->Registered = false;
$this->execution_policy_name = 'main';
$this->registered = false;
}
/**
* @return string
*/
public function getPackage(): string
{
return $this->package;
}
/**
* @param string $package
*/
public function setPackage(string $package): void
{
$this->package = $package;
}
/**
* @return string
*/
public function getExecutionPolicyName(): string
{
return $this->execution_policy_name;
}
/**
* @param string $execution_policy_name
*/
public function setExecutionPolicyName(string $execution_policy_name): void
{
$this->execution_policy_name = $execution_policy_name;
}
/**
* @return bool
*/
public function isRegistered(): bool
{
return $this->registered;
}
/**
* @param bool $registered
*/
public function setRegistered(bool $registered): void
{
$this->registered = $registered;
}
/**
@ -65,9 +113,9 @@
public function toArray(bool $bytecode=false): array
{
return [
($bytecode ? Functions::cbc('package') : 'package') => $this->Package,
($bytecode ? Functions::cbc('registered') : 'registered') => $this->Registered,
($bytecode ? Functions::cbc('execution_policy_name') : 'execution_policy_name') => $this->ExecutionPolicyName
($bytecode ? Functions::cbc('package') : 'package') => $this->package,
($bytecode ? Functions::cbc('registered') : 'registered') => $this->registered,
($bytecode ? Functions::cbc('execution_policy_name') : 'execution_policy_name') => $this->execution_policy_name
];
}
@ -78,9 +126,9 @@
{
$entry = new SymlinkEntry();
$entry->Package = Functions::array_bc($data, 'package');
$entry->Registered = (bool)Functions::array_bc($data, 'registered');
$entry->ExecutionPolicyName = Functions::array_bc($data, 'execution_policy_name');
$entry->package = Functions::array_bc($data, 'package');
$entry->registered = (bool)Functions::array_bc($data, 'registered');
$entry->execution_policy_name = Functions::array_bc($data, 'execution_policy_name');
return $entry;
}