Skip to content

Commit d86910f

Browse files
authored
Merge pull request #52 from techdivision/PAC-950
2 parents e3a96fa + 4e2b90f commit d86910f

File tree

7 files changed

+55
-56
lines changed

7 files changed

+55
-56
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# Version 18.1.0
2+
3+
## Features
4+
5+
### PHP 8.4 Compatibility
6+
7+
* Add PHP 8.4 support
8+
* Fix
9+
110
# Version 18.0.0
211

312
## Features

composer.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
"require": {
66
"php": "^8.1",
77
"doctrine/collections": "^2.2.2",
8-
"doctrine/annotations": "^1.14.0|^2.0.1",
9-
"jms/serializer": "^3.30.0",
8+
"doctrine/annotations": "^2.0.1",
9+
"jms/serializer": "^3.30",
1010
"jean85/pretty-package-versions": "^2.0.6",
1111
"symfony/expression-language": "~6.4.8",
12-
"techdivision/import": "^18.0.0",
13-
"techdivision/import-dbal": "^2.0.0"
12+
"techdivision/import": "^18.1",
13+
"techdivision/import-dbal": "^2.0"
1414
},
1515
"require-dev": {
1616
"doctrine/dbal": "^4.0.4",

src/Configuration/Logger/Handler.php

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
use JMS\Serializer\Annotation\Type;
1818
use JMS\Serializer\Annotation\SerializedName;
19+
use TechDivision\Import\Configuration\Jms\Configuration\Mailer;
1920
use TechDivision\Import\Configuration\Jms\Configuration\ParamsTrait;
2021
use TechDivision\Import\Configuration\Logger\HandlerConfigurationInterface;
2122

@@ -55,13 +56,13 @@ class Handler implements HandlerConfigurationInterface
5556
protected $formatter;
5657

5758
/**
58-
* The swift mailer logger configuration to use.
59+
* The mailer logger configuration to use.
5960
*
60-
* @var \TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer
61-
* @Type("TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer")
62-
* @SerializedName("swift-mailer")
61+
* @var Mailer
62+
* @Type("TechDivision\Import\Configuration\Jms\Configuration\Mailer")
63+
* @SerializedName("mailer")
6364
*/
64-
protected $swiftMailer;
65+
protected Mailer $mailer;
6566

6667
/**
6768
* Return's the handler's DI ID to use.
@@ -84,12 +85,12 @@ public function getFormatter()
8485
}
8586

8687
/**
87-
* Return's the swift mailer configuration to use.
88+
* Return's the mailer configuration to use.
8889
*
89-
* @return \TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer The swift mailer configuration to use
90+
* @return Mailer The mailer configuration to use
9091
*/
91-
public function getSwiftMailer()
92+
public function getMailer()
9293
{
93-
return $this->swiftMailer;
94+
return $this->mailer;
9495
}
9596
}
Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
/**
4-
* TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer
4+
* TechDivision\Import\Configuration\Jms\Configuration\Mailer
55
*
66
* PHP version 7
77
*
@@ -15,18 +15,19 @@
1515
namespace TechDivision\Import\Configuration\Jms\Configuration;
1616

1717
use JMS\Serializer\Annotation\Type;
18-
use TechDivision\Import\Configuration\SwiftMailerConfigurationInterface;
18+
use TechDivision\Import\Configuration\Jms\Configuration\Mailer\Transport;
19+
use TechDivision\Import\Configuration\MailerConfigurationInterface;
1920

2021
/**
21-
* The swift mailer configuration.
22+
* The mailer configuration.
2223
*
2324
* @author Tim Wagner <t.wagner@techdivision.com>
2425
* @copyright 2016 TechDivision GmbH <info@techdivision.com>
2526
* @license https://opensource.org/licenses/MIT
2627
* @link https://github.com/techdivision/import-configuration-jms
2728
* @link http://www.techdivision.com
2829
*/
29-
class SwiftMailer implements SwiftMailerConfigurationInterface
30+
class Mailer implements MailerConfigurationInterface
3031
{
3132

3233
/**
@@ -37,23 +38,23 @@ class SwiftMailer implements SwiftMailerConfigurationInterface
3738
use ParamsTrait;
3839

3940
/**
40-
* The DI ID used to create the swift mailer instance.
41+
* The DI ID used to create the mailer instance.
4142
*
4243
* @var string
4344
* @Type("string")
4445
*/
45-
protected $id;
46+
protected string $id;
4647

4748
/**
48-
* The swift mailer transport configuration to use.
49+
* The mailer transport configuration to use.
4950
*
50-
* @var \TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer\Transport
51-
* @Type("TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer\Transport")
51+
* @var Transport
52+
* @Type("TechDivision\Import\Configuration\Jms\Configuration\Mailer\Transport")
5253
*/
53-
protected $transport;
54+
protected Transport $transport;
5455

5556
/**
56-
* Return's the DI ID used to create the swift mailer instance.
57+
* Return's the DI ID used to create the mailer instance.
5758
*
5859
* @return string The DI ID
5960
*/
@@ -63,9 +64,9 @@ public function getId()
6364
}
6465

6566
/**
66-
* Return's the swift mailer transport configuration to use.
67+
* Return's the mailer transport configuration to use.
6768
*
68-
* @return \TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer\Transport The transport configuration to use
69+
* @return Transport The transport configuration to use
6970
*/
7071
public function getTransport()
7172
{

src/Configuration/SwiftMailer/Transport.php renamed to src/Configuration/Mailer/Transport.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22

33
/**
4-
* TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer\Transport
4+
* TechDivision\Import\Configuration\Jms\Configuration\Mailer\Transport
55
*
66
* PHP version 7
77
*
@@ -12,13 +12,13 @@
1212
* @link http://www.techdivision.com
1313
*/
1414

15-
namespace TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer;
15+
namespace TechDivision\Import\Configuration\Jms\Configuration\Mailer;
1616

1717
use TechDivision\Import\Configuration\Jms\Configuration\ParamsTrait;
18-
use TechDivision\Import\Configuration\SwiftMailer\TransportConfigurationInterface;
18+
use TechDivision\Import\Configuration\Mailer\TransportConfigurationInterface;
1919

2020
/**
21-
* The swift mailer transport configuration.
21+
* The mailer transport configuration.
2222
*
2323
* @author Tim Wagner <t.wagner@techdivision.com>
2424
* @copyright 2016 TechDivision GmbH <info@techdivision.com>

src/Configuration/Plugin.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,13 @@ class Plugin implements PluginConfigurationInterface, ListenerAwareConfiguration
9292
protected $subjects;
9393

9494
/**
95-
* The swift mailer configuration to use.
95+
* The mailer configuration to use.
9696
*
97-
* @var \TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer
98-
* @Type("TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer")
99-
* @SerializedName("swift-mailer")
97+
* @var Mailer
98+
* @Type("TechDivision\Import\Configuration\Jms\Configuration\Mailer")
99+
* @SerializedName("mailer")
100100
*/
101-
protected $swiftMailer;
101+
protected Mailer $mailer;
102102

103103
/**
104104
* The import adapter configuration instance.
@@ -210,13 +210,13 @@ public function getSubjects()
210210
}
211211

212212
/**
213-
* Return's the swift mailer configuration to use.
213+
* Return's the mailer configuration to use.
214214
*
215-
* @return \TechDivision\Import\Configuration\Jms\Configuration\SwiftMailer The swift mailer configuration to use
215+
* @return Mailer The mailer configuration to use
216216
*/
217-
public function getSwiftMailer()
217+
public function getMailer()
218218
{
219-
return $this->swiftMailer;
219+
return $this->mailer;
220220
}
221221

222222
/**

src/Listeners/Renderer/Debug/ConfigurationFileRenderer.php

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515

1616
namespace TechDivision\Import\Configuration\Jms\Listeners\Renderer\Debug;
1717

18-
use Jean85\PrettyVersions;
1918
use JMS\Serializer\SerializerBuilder;
2019
use JMS\Serializer\SerializationContext;
21-
use JMS\Serializer\JsonSerializationVisitor;
2220
use JMS\Serializer\Expression\ExpressionEvaluator;
2321
use JMS\Serializer\Naming\IdenticalPropertyNamingStrategy;
2422
use JMS\Serializer\Naming\SerializedNameAnnotationStrategy;
@@ -54,21 +52,11 @@ protected function dump(ConfigurationInterface $configuration) : string
5452
$builder->addDefaultSerializationVisitors();
5553
$builder->setExpressionEvaluator(new ExpressionEvaluator(new ExpressionLanguage()));
5654

57-
// try to load the JMS serializer
58-
$version = PrettyVersions::getVersion('jms/serializer');
59-
60-
// query whether or not we're < than 2.0.0
61-
if (version_compare($version->getPrettyVersion(), '2.0.0', '<')) {
62-
// initialize the naming strategy
63-
$namingStrategy = new SerializedNameAnnotationStrategy(new IdenticalPropertyNamingStrategy());
64-
65-
// initialize the visitor because we want to set JSON options
66-
$visitor = new JsonSerializationVisitor($namingStrategy);
67-
$visitor->setOptions(JSON_PRETTY_PRINT);
68-
} else {
69-
// initialize the json visitor factory because we want to set JSON options
70-
$visitor = new JsonSerializationVisitorFactory();
71-
}
55+
// set property naming strategy to respect @SerializedName annotations (JMS v3+)
56+
$builder->setPropertyNamingStrategy(new SerializedNameAnnotationStrategy(new IdenticalPropertyNamingStrategy()));
57+
// initialize the json visitor factory because we want to set JSON options
58+
$visitor = new JsonSerializationVisitorFactory();
59+
$visitor->setOptions(JSON_PRETTY_PRINT | JSON_PRESERVE_ZERO_FRACTION);
7260

7361
// register the visitor in the builder instance
7462
$builder->setSerializationVisitor($format = 'json', $visitor);

0 commit comments

Comments
 (0)