This commit is contained in:
Thomas Peterson 2025-07-25 11:22:50 +02:00
parent 2a0ca40ed7
commit 19fe1e8e7f
2 changed files with 191 additions and 188 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.74079850280724" branch-rate="0" lines-covered="2375" lines-valid="3206" branches-covered="0" branches-valid="0" complexity="1388" version="0.4" timestamp="1753433737">
<coverage line-rate="0.74867477393202" branch-rate="0" lines-covered="2401" lines-valid="3207" branches-covered="0" branches-valid="0" complexity="1389" version="0.4" timestamp="1753434619">
<sources>
<source>/home/thomas/projekte/calc/src</source>
</sources>
@ -5506,128 +5506,130 @@
</class>
</classes>
</package>
<package name="Option/Parser/Base.php" line-rate="0.9047619047619" branch-rate="0" complexity="28">
<package name="Option/Parser/Base.php" line-rate="0.90697674418605" branch-rate="0" complexity="29">
<classes>
<class name="PSC\Library\Calc\Option\Parser\Base" filename="Option/Parser/Base.php" line-rate="0.9047619047619" branch-rate="0" complexity="28">
<class name="PSC\Library\Calc\Option\Parser\Base" filename="Option/Parser/Base.php" line-rate="0.90697674418605" branch-rate="0" complexity="29">
<methods>
<method name="__construct" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="21" hits="140"/>
<line number="22" hits="140"/>
</lines>
</method>
<method name="fromXML" signature="SimpleXMLElement $node" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="25" hits="188"/>
<line number="27" hits="188"/>
</lines>
</method>
<method name="fromJson" signature="array $json" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="29" hits="7"/>
<line number="32" hits="7"/>
</lines>
</method>
<method name="toJson" signature="" line-rate="0" branch-rate="0" complexity="1">
<lines>
<line number="34" hits="0"/>
<line number="37" hits="0"/>
</lines>
</method>
<method name="toXML" signature="" line-rate="0" branch-rate="0" complexity="1">
<lines>
<line number="38" hits="0"/>
<line number="41" hits="0"/>
</lines>
</method>
<method name="parseJson" signature="" line-rate="0.81818181818182" branch-rate="0" complexity="5">
<method name="parseJson" signature="" line-rate="0.83333333333333" branch-rate="0" complexity="6">
<lines>
<line number="42" hits="7"/>
<line number="43" hits="7"/>
<line number="45" hits="7"/>
<line number="46" hits="5"/>
<line number="48" hits="7"/>
<line number="49" hits="4"/>
<line number="51" hits="7"/>
<line number="52" hits="0"/>
<line number="54" hits="7"/>
<line number="55" hits="0"/>
<line number="46" hits="7"/>
<line number="47" hits="5"/>
<line number="49" hits="7"/>
<line number="50" hits="5"/>
<line number="52" hits="7"/>
<line number="53" hits="4"/>
<line number="55" hits="7"/>
<line number="56" hits="0"/>
<line number="58" hits="7"/>
<line number="59" hits="0"/>
<line number="62" hits="7"/>
</lines>
</method>
<method name="parseXML" signature="" line-rate="1" branch-rate="0" complexity="15">
<lines>
<line number="65" hits="188"/>
<line number="66" hits="188"/>
<line number="67" hits="188"/>
<line number="68" hits="188"/>
<line number="69" hits="183"/>
<line number="71" hits="188"/>
<line number="72" hits="86"/>
<line number="74" hits="188"/>
<line number="75" hits="5"/>
<line number="77" hits="188"/>
<line number="78" hits="43"/>
<line number="80" hits="188"/>
<line number="81" hits="17"/>
<line number="83" hits="188"/>
<line number="84" hits="4"/>
<line number="86" hits="188"/>
<line number="87" hits="31"/>
<line number="89" hits="188"/>
<line number="90" hits="7"/>
<line number="92" hits="188"/>
<line number="93" hits="4"/>
<line number="95" hits="188"/>
<line number="96" hits="1"/>
<line number="99" hits="188"/>
<line number="70" hits="188"/>
<line number="71" hits="183"/>
<line number="73" hits="188"/>
<line number="74" hits="86"/>
<line number="76" hits="188"/>
<line number="77" hits="5"/>
<line number="79" hits="188"/>
<line number="80" hits="43"/>
<line number="82" hits="188"/>
<line number="83" hits="17"/>
<line number="85" hits="188"/>
<line number="86" hits="4"/>
<line number="88" hits="188"/>
<line number="89" hits="31"/>
<line number="91" hits="188"/>
<line number="92" hits="7"/>
<line number="94" hits="188"/>
<line number="95" hits="4"/>
<line number="97" hits="188"/>
<line number="98" hits="1"/>
<line number="101" hits="188"/>
</lines>
</method>
<method name="getBoolean" signature="$value" line-rate="1" branch-rate="0" complexity="3">
<lines>
<line number="104" hits="91"/>
<line number="105" hits="91"/>
<line number="107" hits="3"/>
<line number="106" hits="91"/>
<line number="107" hits="91"/>
<line number="109" hits="3"/>
</lines>
</method>
</methods>
<lines>
<line number="21" hits="140"/>
<line number="25" hits="188"/>
<line number="29" hits="7"/>
<line number="34" hits="0"/>
<line number="38" hits="0"/>
<line number="42" hits="7"/>
<line number="43" hits="7"/>
<line number="22" hits="140"/>
<line number="27" hits="188"/>
<line number="32" hits="7"/>
<line number="37" hits="0"/>
<line number="41" hits="0"/>
<line number="45" hits="7"/>
<line number="46" hits="5"/>
<line number="48" hits="7"/>
<line number="49" hits="4"/>
<line number="51" hits="7"/>
<line number="52" hits="0"/>
<line number="54" hits="7"/>
<line number="55" hits="0"/>
<line number="46" hits="7"/>
<line number="47" hits="5"/>
<line number="49" hits="7"/>
<line number="50" hits="5"/>
<line number="52" hits="7"/>
<line number="53" hits="4"/>
<line number="55" hits="7"/>
<line number="56" hits="0"/>
<line number="58" hits="7"/>
<line number="65" hits="188"/>
<line number="66" hits="188"/>
<line number="59" hits="0"/>
<line number="62" hits="7"/>
<line number="67" hits="188"/>
<line number="68" hits="188"/>
<line number="69" hits="183"/>
<line number="71" hits="188"/>
<line number="72" hits="86"/>
<line number="74" hits="188"/>
<line number="75" hits="5"/>
<line number="77" hits="188"/>
<line number="78" hits="43"/>
<line number="80" hits="188"/>
<line number="81" hits="17"/>
<line number="83" hits="188"/>
<line number="84" hits="4"/>
<line number="86" hits="188"/>
<line number="87" hits="31"/>
<line number="89" hits="188"/>
<line number="90" hits="7"/>
<line number="92" hits="188"/>
<line number="93" hits="4"/>
<line number="95" hits="188"/>
<line number="96" hits="1"/>
<line number="99" hits="188"/>
<line number="104" hits="91"/>
<line number="105" hits="91"/>
<line number="107" hits="3"/>
<line number="70" hits="188"/>
<line number="71" hits="183"/>
<line number="73" hits="188"/>
<line number="74" hits="86"/>
<line number="76" hits="188"/>
<line number="77" hits="5"/>
<line number="79" hits="188"/>
<line number="80" hits="43"/>
<line number="82" hits="188"/>
<line number="83" hits="17"/>
<line number="85" hits="188"/>
<line number="86" hits="4"/>
<line number="88" hits="188"/>
<line number="89" hits="31"/>
<line number="91" hits="188"/>
<line number="92" hits="7"/>
<line number="94" hits="188"/>
<line number="95" hits="4"/>
<line number="97" hits="188"/>
<line number="98" hits="1"/>
<line number="101" hits="188"/>
<line number="106" hits="91"/>
<line number="107" hits="91"/>
<line number="109" hits="3"/>
</lines>
</class>
</classes>
@ -6240,9 +6242,9 @@
</class>
</classes>
</package>
<package name="Option/Parser/Select.php" line-rate="0.56756756756757" branch-rate="0" complexity="61">
<package name="Option/Parser/Select.php" line-rate="0.69594594594595" branch-rate="0" complexity="61">
<classes>
<class name="PSC\Library\Calc\Option\Parser\Select" filename="Option/Parser/Select.php" line-rate="0.56756756756757" branch-rate="0" complexity="61">
<class name="PSC\Library\Calc\Option\Parser\Select" filename="Option/Parser/Select.php" line-rate="0.69594594594595" branch-rate="0" complexity="61">
<methods>
<method name="__construct" signature="null|string $mode" line-rate="1" branch-rate="0" complexity="7">
<lines>
@ -6354,30 +6356,30 @@
<line number="179" hits="0"/>
</lines>
</method>
<method name="parseModeColorDbXML" signature="" line-rate="0.2962962962963" branch-rate="0" complexity="6">
<method name="parseModeColorDbXML" signature="" line-rate="1" branch-rate="0" complexity="6">
<lines>
<line number="187" hits="13"/>
<line number="189" hits="13"/>
<line number="191" hits="13"/>
<line number="192" hits="0"/>
<line number="194" hits="0"/>
<line number="196" hits="0"/>
<line number="197" hits="0"/>
<line number="199" hits="0"/>
<line number="200" hits="0"/>
<line number="203" hits="0"/>
<line number="204" hits="0"/>
<line number="205" hits="0"/>
<line number="206" hits="0"/>
<line number="207" hits="0"/>
<line number="208" hits="0"/>
<line number="209" hits="0"/>
<line number="210" hits="0"/>
<line number="211" hits="0"/>
<line number="212" hits="0"/>
<line number="213" hits="0"/>
<line number="214" hits="0"/>
<line number="218" hits="0"/>
<line number="192" hits="1"/>
<line number="194" hits="1"/>
<line number="196" hits="1"/>
<line number="197" hits="1"/>
<line number="199" hits="1"/>
<line number="200" hits="1"/>
<line number="203" hits="1"/>
<line number="204" hits="1"/>
<line number="205" hits="1"/>
<line number="206" hits="1"/>
<line number="207" hits="1"/>
<line number="208" hits="1"/>
<line number="209" hits="1"/>
<line number="210" hits="1"/>
<line number="211" hits="1"/>
<line number="212" hits="1"/>
<line number="213" hits="1"/>
<line number="214" hits="1"/>
<line number="218" hits="1"/>
<line number="219" hits="13"/>
<line number="221" hits="13"/>
<line number="223" hits="13"/>
@ -6539,25 +6541,25 @@
<line number="187" hits="13"/>
<line number="189" hits="13"/>
<line number="191" hits="13"/>
<line number="192" hits="0"/>
<line number="194" hits="0"/>
<line number="196" hits="0"/>
<line number="197" hits="0"/>
<line number="199" hits="0"/>
<line number="200" hits="0"/>
<line number="203" hits="0"/>
<line number="204" hits="0"/>
<line number="205" hits="0"/>
<line number="206" hits="0"/>
<line number="207" hits="0"/>
<line number="208" hits="0"/>
<line number="209" hits="0"/>
<line number="210" hits="0"/>
<line number="211" hits="0"/>
<line number="212" hits="0"/>
<line number="213" hits="0"/>
<line number="214" hits="0"/>
<line number="218" hits="0"/>
<line number="192" hits="1"/>
<line number="194" hits="1"/>
<line number="196" hits="1"/>
<line number="197" hits="1"/>
<line number="199" hits="1"/>
<line number="200" hits="1"/>
<line number="203" hits="1"/>
<line number="204" hits="1"/>
<line number="205" hits="1"/>
<line number="206" hits="1"/>
<line number="207" hits="1"/>
<line number="208" hits="1"/>
<line number="209" hits="1"/>
<line number="210" hits="1"/>
<line number="211" hits="1"/>
<line number="212" hits="1"/>
<line number="213" hits="1"/>
<line number="214" hits="1"/>
<line number="218" hits="1"/>
<line number="219" hits="13"/>
<line number="221" hits="13"/>
<line number="223" hits="13"/>
@ -6877,7 +6879,7 @@
</method>
<method name="setName" signature="$name" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="87" hits="193"/>
<line number="87" hits="191"/>
</lines>
</method>
<method name="getType" signature="" line-rate="1" branch-rate="0" complexity="1">
@ -7109,7 +7111,7 @@
<line number="66" hits="3"/>
<line number="71" hits="2"/>
<line number="79" hits="13"/>
<line number="87" hits="193"/>
<line number="87" hits="191"/>
<line number="95" hits="7"/>
<line number="100" hits="1"/>
<line number="105" hits="1"/>
@ -8460,13 +8462,13 @@
</class>
</classes>
</package>
<package name="Option/Type/Select/ColorOpt.php" line-rate="0" branch-rate="0" complexity="12">
<package name="Option/Type/Select/ColorOpt.php" line-rate="0.5" branch-rate="0" complexity="12">
<classes>
<class name="PSC\Library\Calc\Option\Type\Select\ColorOpt" filename="Option/Type/Select/ColorOpt.php" line-rate="0" branch-rate="0" complexity="12">
<class name="PSC\Library\Calc\Option\Type\Select\ColorOpt" filename="Option/Type/Select/ColorOpt.php" line-rate="0.5" branch-rate="0" complexity="12">
<methods>
<method name="setValue" signature="string $value" line-rate="0" branch-rate="0" complexity="1">
<method name="setValue" signature="string $value" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="24" hits="0"/>
<line number="24" hits="1"/>
</lines>
</method>
<method name="getValue" signature="" line-rate="0" branch-rate="0" complexity="1">
@ -8479,9 +8481,9 @@
<line number="34" hits="0"/>
</lines>
</method>
<method name="setColorHex" signature="string $colorHex" line-rate="0" branch-rate="0" complexity="1">
<method name="setColorHex" signature="string $colorHex" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="39" hits="0"/>
<line number="39" hits="1"/>
</lines>
</method>
<method name="getColorCMYK" signature="" line-rate="0" branch-rate="0" complexity="1">
@ -8489,9 +8491,9 @@
<line number="44" hits="0"/>
</lines>
</method>
<method name="setColorCMYK" signature="string $colorCMYK" line-rate="0" branch-rate="0" complexity="1">
<method name="setColorCMYK" signature="string $colorCMYK" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="49" hits="0"/>
<line number="49" hits="1"/>
</lines>
</method>
<method name="getColorRGB" signature="" line-rate="0" branch-rate="0" complexity="1">
@ -8499,9 +8501,9 @@
<line number="54" hits="0"/>
</lines>
</method>
<method name="setColorRGB" signature="string $colorRGB" line-rate="0" branch-rate="0" complexity="1">
<method name="setColorRGB" signature="string $colorRGB" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="59" hits="0"/>
<line number="59" hits="1"/>
</lines>
</method>
<method name="getSuffix" signature="" line-rate="0" branch-rate="0" complexity="1">
@ -8509,9 +8511,9 @@
<line number="67" hits="0"/>
</lines>
</method>
<method name="setSuffix" signature="$suffix" line-rate="0" branch-rate="0" complexity="1">
<method name="setSuffix" signature="$suffix" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="75" hits="0"/>
<line number="75" hits="1"/>
</lines>
</method>
<method name="getPrefix" signature="" line-rate="0" branch-rate="0" complexity="1">
@ -8519,25 +8521,25 @@
<line number="80" hits="0"/>
</lines>
</method>
<method name="setPrefix" signature="?string $prefix" line-rate="0" branch-rate="0" complexity="1">
<method name="setPrefix" signature="?string $prefix" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="85" hits="0"/>
<line number="85" hits="1"/>
</lines>
</method>
</methods>
<lines>
<line number="24" hits="0"/>
<line number="24" hits="1"/>
<line number="29" hits="0"/>
<line number="34" hits="0"/>
<line number="39" hits="0"/>
<line number="39" hits="1"/>
<line number="44" hits="0"/>
<line number="49" hits="0"/>
<line number="49" hits="1"/>
<line number="54" hits="0"/>
<line number="59" hits="0"/>
<line number="59" hits="1"/>
<line number="67" hits="0"/>
<line number="75" hits="0"/>
<line number="75" hits="1"/>
<line number="80" hits="0"/>
<line number="85" hits="0"/>
<line number="85" hits="1"/>
</lines>
</class>
</classes>
@ -8658,7 +8660,7 @@
<methods>
<method name="__construct" signature="" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="26" hits="140"/>
<line number="26" hits="141"/>
</lines>
</method>
<method name="getId" signature="" line-rate="1" branch-rate="0" complexity="1">
@ -8668,7 +8670,7 @@
</method>
<method name="setId" signature="$id" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="43" hits="140"/>
<line number="43" hits="141"/>
</lines>
</method>
<method name="getLabel" signature="" line-rate="1" branch-rate="0" complexity="1">
@ -8678,7 +8680,7 @@
</method>
<method name="setLabel" signature="$label" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="59" hits="140"/>
<line number="59" hits="141"/>
</lines>
</method>
<method name="getEdgesCollectionContainer" signature="" line-rate="1" branch-rate="0" complexity="1">
@ -8732,11 +8734,11 @@
</method>
</methods>
<lines>
<line number="26" hits="140"/>
<line number="26" hits="141"/>
<line number="35" hits="142"/>
<line number="43" hits="140"/>
<line number="43" hits="141"/>
<line number="51" hits="119"/>
<line number="59" hits="140"/>
<line number="59" hits="141"/>
<line number="67" hits="127"/>
<line number="75" hits="140"/>
<line number="83" hits="127"/>

View File

@ -1,4 +1,5 @@
<?php
namespace PSC\Library\Calc\Option\Parser;
use PSC\Library\Calc\Option\Type\Base as PSCBase;
@ -10,9 +11,9 @@ class Base
/** @var \PSC\Library\Calc\Option\Type\Base $element */
protected $element;
protected ?SimpleXMLElement $node;
protected null|SimpleXMLElement $node;
protected ?array $json;
protected null|array $json;
protected FilesystemAdapter $cache;
@ -21,79 +22,80 @@ class Base
$this->cache = new FilesystemAdapter();
}
public function fromXML(\SimpleXMLElement $node) {
public function fromXML(\SimpleXMLElement $node)
{
$this->node = $node;
}
public function fromJson(array $json) {
public function fromJson(array $json)
{
$this->json = $json;
}
public function toJson(): array {
public function toJson(): array
{
}
public function toXML(): \SimpleXMLElement {
public function toXML(): \SimpleXMLElement
{
}
public function parseJson(): PSCBase
{
$this->element->setId((string)$this->json['id']);
$this->element->setName((string)$this->json['name']);
if(isset($this->json['default'])) {
$this->element->setDefault((string)$this->json['default']);
$this->element->setId((string) $this->json['id']);
if (isset($this->json['name'])) {
$this->element->setName((string) $this->json['name']);
}
if(isset($this->json['required'])) {
if (isset($this->json['default'])) {
$this->element->setDefault((string) $this->json['default']);
}
if (isset($this->json['required'])) {
$this->element->setRequire($this->json['required']);
}
if(isset($this->json['exportAjax'])) {
if (isset($this->json['exportAjax'])) {
$this->element->setIsAjaxExport($this->json['exportAjax']);
}
if(isset($this->json['displayOnly'])) {
if (isset($this->json['displayOnly'])) {
$this->element->setIsDisplayOnly($this->json['displayOnly']);
}
return $this->element;
}
public function parseXML(): PSCBase
{
$this->element->setId((string)$this->node['id']);
$this->element->setName((string)$this->node['name']);
$this->element->setId((string) $this->node['id']);
$this->element->setName((string) $this->node['name']);
if(isset($this->node['default'])) {
$this->element->setDefault((string)$this->node['default']);
if (isset($this->node['default'])) {
$this->element->setDefault((string) $this->node['default']);
}
if(isset($this->node['require'])) {
if (isset($this->node['require'])) {
$this->element->setRequire($this->getBoolean($this->node['require']));
}
if(isset($this->node['required'])) {
if (isset($this->node['required'])) {
$this->element->setRequire($this->getBoolean($this->node['required']));
}
if(isset($this->node['help'])) {
$this->element->setHelp((string)$this->node['help']);
if (isset($this->node['help'])) {
$this->element->setHelp((string) $this->node['help']);
}
if(isset($this->node['helplink'])) {
$this->element->setHelpLink((string)$this->node['helplink']);
if (isset($this->node['helplink'])) {
$this->element->setHelpLink((string) $this->node['helplink']);
}
if(isset($this->node['helpid'])) {
$this->element->setHelpId((string)$this->node['helpid']);
if (isset($this->node['helpid'])) {
$this->element->setHelpId((string) $this->node['helpid']);
}
if(isset($this->node['exportAjax']) && (string)$this->node['exportAjax'] == 1) {
if (isset($this->node['exportAjax']) && ((string) $this->node['exportAjax']) == 1) {
$this->element->setIsAjaxExport(true);
}
if(isset($this->node['displayOnly']) && (string)$this->node['displayOnly'] == 1) {
if (isset($this->node['displayOnly']) && ((string) $this->node['displayOnly']) == 1) {
$this->element->setIsDisplayOnly(true);
}
if(isset($this->node['amount']) && (string)$this->node['amount'] == 0) {
if (isset($this->node['amount']) && ((string) $this->node['amount']) == 0) {
$this->element->setAmount(false);
}
if(isset($this->node['display_group']) && (string)$this->node['display_group'] != "") {
$this->element->setDisplayGroup((string)$this->node['display_group']);
if (isset($this->node['display_group']) && ((string) $this->node['display_group']) != '') {
$this->element->setDisplayGroup((string) $this->node['display_group']);
}
return $this->element;
@ -101,10 +103,9 @@ class Base
private function getBoolean($value)
{
if((string)$value == 'true' || (string)$value == '1') {
if (((string) $value) == 'true' || ((string) $value) == '1') {
return true;
}
return false;
}
}