Skip to content

Commit f72cf03

Browse files
committed
Fix Mapper object to return classname
1 parent 6027b40 commit f72cf03

5 files changed

Lines changed: 31 additions & 24 deletions

File tree

lib/net/authorize/api/contract/v1/Mapper.php

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
class Mapper{
66
private $classes = array();
7-
private $dir = "../../yml/v1/";
7+
private $dir = __DIR__ . "/../../yml/v1/";
88

99
function __construct() {
1010
$files = scandir($this->dir);
1111
foreach ($files as $file) {
12-
//echo "filename:" . $file . "\n";
12+
// echo "filename:" . $file . "\n";
1313
// Elementing the ..
1414
if($file != "." && $file != ".." ){
1515
$value = Yaml::parseFile($this->dir.$file);
@@ -44,40 +44,47 @@ function __construct() {
4444

4545
public function getClass(string $class, string $property){
4646

47+
echo "getClass calling : class - " . $class . " property - " . $property . "\n";
4748
$obj = new MapperObj;
4849

4950

50-
if(isset($this->classes[$classname]['properties'][$property]['type'])){
51+
if(isset($this->classes[$class]['properties'][$property]['type'])){
5152
$className = $this->classes[$class]['properties'][$property]['type'];
52-
if(substr( $classname, 0, 5 ) === "array"){
53-
$classname = ltrim($classname, 'array<');
54-
$classname = rtrim($classname, '>');
53+
if(substr( $className, 0, 5 ) === "array"){
54+
$className = ltrim($className, 'array<');
55+
$className = rtrim($className, '>');
5556
$obj->isArray = true;
5657

57-
if(isset($this->classes[$classname]['properties'][$property]['xml_list']['entry_name'])){
58+
if(isset($this->classes[$class]['properties'][$property]['xml_list']['entry_name'])){
5859
// echo $file."\t\t\t\t\t\t\t\t\t";
5960
// echo $propKey." :: ".$prop['serialized_name']." - ".$prop['xml_list']['entry_name']." - ".$prop['xml_list']['inline'];
6061
// echo "\n";
61-
$obj->isInlineArray = $this->classes[$classname]['properties'][$property]['xml_list']['inline'];
62-
$obj->arrayEntryname = $this->classes[$classname]['properties'][$property]['xml_list']['entry_name'];
62+
$obj->isInlineArray = $this->classes[$class]['properties'][$property]['xml_list']['inline'];
63+
$obj->arrayEntryname = $this->classes[$class]['properties'][$property]['xml_list']['entry_name'];
6364
}
6465
}
6566
$obj->className = $className;
6667
$obj->isCustomDefined = stripos($className, '\\') !== false;
6768

6869
return $obj;
6970
}
70-
else if(get_parent_class($classname)){
71-
return getClass(get_parent_class($classname), $property)
71+
else if(get_parent_class($class)){
72+
echo "Checking parent class in YAML - ".get_parent_class($class)." -".$class." - ".$property."\n";
73+
return (new Mapper)->getClass(get_parent_class($class), $property);
7274
}
73-
// else if ($property == "refId" || $property == "sessionToken" ){
74-
// return 'string';
75-
// }
76-
// else if ($property == "messages" ){
77-
// return 'net\authorize\api\contract\v1\MessagesType';
78-
// }
75+
// else if ($property == "refId" || $property == "sessionToken" ){
76+
// return 'string';
77+
// }
78+
// else if ($property == "messages" ){
79+
//
80+
// $className = 'net\authorize\api\contract\v1\MessagesType';
81+
// $obj->className = $className;
82+
// $obj->isCustomDefined = stripos($className, '\\') !== false;
83+
//
84+
// return $obj;
85+
// }
7986
else{
80-
echo "Error finding in YAML - ".$classname." ".$property."\n";
87+
echo "Error finding in YAML - ".$classname." - ".$property."\n";
8188
$obj->className = 'string';
8289
return $obj;
8390
}

scripts/appendJsonSeralizeCode.pl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
while (<>) {
1212
chomp;
13-
my $filepath = "../lib/net/authorize/api/contract/v1/"
13+
my $filepath = "../lib/net/authorize/api/contract/v1/";
1414
my $filename = "$filepath"."$_";
1515
my $text = `cat $filename`;
1616
my $sub = `cat appendJsonSeralizeCode.txt`;

scripts/appendJsonSeralizeCode.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
return !is_null($val);
66
});
77
foreach($values as $key => $value){
8-
if (isset($value) & &is_array($value)){
8+
if (isset($value) && is_array($value)){
99
$subKey = str_replace("Type", "", lcfirst((new ReflectionClass($value[0]))->getShortName()));
1010
$subArray = [$subKey => $value];
1111
$values[$key] = $subArray;

scripts/appendSetCode.pl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
while (<>) {
1212
chomp;
13-
my $filepath = "../lib/net/authorize/api/contract/v1/"
13+
my $filepath = "../lib/net/authorize/api/contract/v1/";
1414
my $filename = "$filepath"."$_";
1515
my $text = `cat $filename`;
1616
my $sub = `cat appendSetCode.txt`;

scripts/appendSetCode.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
foreach($data AS $key => $value) {
55
//$isarray = false;
66
//$classname = (new net\authorize\api\contract\v1\Mapper)->getClass(get_class() , $key);
7-
$classDetails = (new net\authorize\api\contract\v1\Mapper)->getClass(get_class() , $key);
7+
$classDetails = (new \net\authorize\api\contract\v1\Mapper)->getClass(get_class() , $key);
88
//if (substr($classname, 0, 5) === "array") {
99
// $classname = ltrim($classname, 'array<');
1010
// $classname = rtrim($classname, '>');
@@ -13,7 +13,7 @@
1313
if ($classDetails->isArray) {
1414
if ($classDetails->isCustomDefined) {
1515
foreach($value AS $keyChild => $valueChild) {
16-
$type = new $classDetails->classname;
16+
$type = new $classDetails->className;
1717
$type->set($valueChild);
1818
$this->{'addTo' . $key}($type);
1919
}
@@ -26,7 +26,7 @@
2626
}
2727
else {
2828
if ($classDetails->isCustomDefined){
29-
$type = new $classDetails->classname;
29+
$type = new $classDetails->className;
3030
$type->set($value);
3131
$this->{'set' . $key}($type);
3232
}

0 commit comments

Comments
 (0)