Skip to content

Commit

Permalink
ensured compatibility with jms/serializer >=v0.14
Browse files Browse the repository at this point in the history
  • Loading branch information
sveneisenschmidt committed Mar 17, 2014
1 parent 0180357 commit 24154b7
Show file tree
Hide file tree
Showing 27 changed files with 231 additions and 131 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.idea
.tmp
vendor
composer.phar
210 changes: 139 additions & 71 deletions composer.lock

Large diffs are not rendered by default.

35 changes: 33 additions & 2 deletions src/SE/Component/BMEcat/DocumentBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

use \JMS\Serializer\Serializer;
use \JMS\Serializer\SerializerBuilder;
use \JMS\Serializer\SerializationContext;

use \SE\Component\BMEcat\DataLoader;
use \SE\Component\BMEcat\NodeLoader;
Expand All @@ -31,6 +32,12 @@ class DocumentBuilder
*/
protected $serializer;

/**
*
* @var \JMS\Serializer\SerializationContext
*/
protected $context;

/**
*
* @var \SE\Component\BMEcat\NodeLoader
Expand All @@ -48,16 +55,22 @@ class DocumentBuilder
* @param \JMS\Serializer\Serializer $serializer
* @param \SE\Component\BMEcat\NodeLoader $loader
*/
public function __construct(Serializer $serializer = null, NodeLoader $loader = null)
public function __construct(Serializer $serializer = null, NodeLoader $loader = null, $context = null)
{
if($serializer === null) {
$serializer = SerializerBuilder::create()->build();
}

if($context === null) {
$context = SerializationContext::create();
}


if($loader === null) {
$loader = new NodeLoader();
}

$this->context = $context;
$this->serializer = $serializer;
$this->loader = $loader;
}
Expand Down Expand Up @@ -91,6 +104,15 @@ public function getSerializer()
return $this->serializer;
}

/**
*
* @return \JMS\Serializer\SerializationContext
*/
public function getContext()
{
return $this->context;
}

/**
*
* @param Node\DocumentNode $document
Expand Down Expand Up @@ -158,6 +180,15 @@ public function load(array $data)
{
DataLoader::load($data, $this);
}

/**
*
* @param $bool
*/
public function setSerializeNull($bool)
{
$this->context->setSerializeNull($bool);
}

/**
*
Expand All @@ -170,6 +201,6 @@ public function toString()
throw new MissingDocumentException('No Document built. Please call ::build first.');
}

return $this->serializer->serialize($document, 'xml');
return $this->serializer->serialize($document, 'xml', $this->context);
}
}
6 changes: 3 additions & 3 deletions src/SE/Component/BMEcat/Node/ArticleNode.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ class ArticleNode extends AbstractNode
*
* @Serializer\Expose
* @Serializer\SerializedName("ARTICLE_PRICE_DETAILS")
* @Serializer\Type("array<SE\Component\BMEcat\Node\ArticlePricingNode>")
* @Serializer\Type("array<SE\Component\BMEcat\Node\ArticlePriceNode>")
* @Serializer\XmlList( entry="ARTICLE_PRICE")
*
* @var \SE\Component\BMEcat\Node\ArticlePricingNode[]
* @var \SE\Component\BMEcat\Node\ArticlePriceNode[]
*/
protected $prices = [];

Expand Down Expand Up @@ -167,7 +167,7 @@ public function getFeatures()

/**
*
* @return \SE\Component\BMEcat\Node\ArticlePricingNode[]
* @return \SE\Component\BMEcat\Node\ArticlePriceNode[]
*/
public function getPrices()
{
Expand Down
6 changes: 3 additions & 3 deletions tests/SE/Component/BMEcat/Tests/DataLoaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -329,12 +329,12 @@ public function Nullable_Is_Handled_Correctly()
'nullable' => true
];

$serializer = $this->getMock('\JMS\Serializer\Serializer', [], [], '', false);
$serializer->expects($this->exactly(2))
$context = $this->getMock('\JMS\Serializer\SerializationContext', [], [], '', false);
$context->expects($this->exactly(2))
->method('setSerializeNull')
->with($data['nullable']);

$builder = new \SE\Component\BMEcat\DocumentBuilder($serializer);
$builder = new \SE\Component\BMEcat\DocumentBuilder(null, null, $context);
$builder->setSerializeNull($data['nullable']);

\SE\Component\BMEcat\DataLoader::load($data, $builder);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<BMEcat xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
<BMEcat xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
<HEADER>
<GENERATOR_INFO><![CDATA[DocumentTest Document]]></GENERATOR_INFO>
<CATALOG>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ARTICLE_DETAILS>
<ARTICLE_DETAILS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DESCRIPTION_SHORT xsi:nil="true"/>
<DESCRIPTION_LONG xsi:nil="true"/>
<EAN xsi:nil="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<FEATURE>
<FEATURE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FNAME xsi:nil="true"/>
<FVALUE xsi:nil="true"/>
</FEATURE>
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ARTICLE_PRICE price_type="gros_list">
<ARTICLE_PRICE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" price_type="gros_list">
<PRICE_AMOUNT xsi:nil="true"/>
<SUPPLPRICE_AMOUNT xsi:nil="true"/>
<PRICE_CURRENCY xsi:nil="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ARTICLE>
<ARTICLE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SUPPLIER_AID xsi:nil="true"/>
<ARTICLE_DETAILS xsi:nil="true"/>
<ARTICLE_PRICE_DETAILS xsi:nil="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
<CATALOG xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CATALOG_ID xsi:nil="true"/>
<CATALOG_VERSION xsi:nil="true"/>
<LANGUAGE xsi:nil="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<DATETIME type="generation_date">
<DATETIME xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" type="generation_date">
<DATE xsi:nil="true"/>
<TIME xsi:nil="true"/>
<TIMEZONE xsi:nil="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<BMEcat xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
<BMEcat xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
<HEADER xsi:nil="true"/>
<T_NEW_CATALOG xsi:nil="true"/>
</BMEcat>
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<BMEcat xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
<BMEcat xmlns="http://www.bmecat.org/bmecat/1.2/bmecat_new_catalog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.w3.org/1999/xhtml.xsd">
<HEADER>
<GENERATOR_INFO xsi:nil="true"/>
<CATALOG>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<HEADER>
<HEADER xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<GENERATOR_INFO xsi:nil="true"/>
<CATALOG xsi:nil="true"/>
<SUPPLIER xsi:nil="true"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<T_NEW_CATALOG xsi:nil="true"/>
<T_NEW_CATALOG xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<SUPPLIER>
<SUPPLIER xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SUPPLIER_ID xsi:nil="true"/>
<SUPPLIER_NAME xsi:nil="true"/>
</SUPPLIER>
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ public function Set_Get_Description_Segment()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticleDetailsNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_details_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -114,10 +114,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticleDetailsNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_details_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ public function Set_Get_Value()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticleFeatureNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_feature_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -72,10 +72,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticleFeatureNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_feature_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
8 changes: 4 additions & 4 deletions tests/SE/Component/BMEcat/Tests/Node/ArticleNodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -106,10 +106,10 @@ public function Add_Get_Prices()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticleNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -121,10 +121,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticleNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
8 changes: 4 additions & 4 deletions tests/SE/Component/BMEcat/Tests/Node/ArticlePriceNodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ public function Set_Get_Currency()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticlePriceNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_price_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -86,10 +86,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\ArticlePriceNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_article_price_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
8 changes: 4 additions & 4 deletions tests/SE/Component/BMEcat/Tests/Node/CatalogNodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,10 @@ public function Set_Get_Date_Time()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\CatalogNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_catalog_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -100,10 +100,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\CatalogNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_catalog_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
8 changes: 4 additions & 4 deletions tests/SE/Component/BMEcat/Tests/Node/DateTimeNodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ public function Set_Get_TimeZone()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\DateTimeNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_datetime_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -86,10 +86,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\DateTimeNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_datetime_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
8 changes: 4 additions & 4 deletions tests/SE/Component/BMEcat/Tests/Node/DocumentNodeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,10 @@ public function Set_Get_New_Header()
public function Serialize_With_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\DocumentNode();
$this->serializer->setSerializeNull(true);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(true);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_document_nochildren_with_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand All @@ -85,10 +85,10 @@ public function Serialize_With_Null_Values()
public function Serialize_Without_Null_Values()
{
$node = new \SE\Component\BMEcat\Node\DocumentNode();
$this->serializer->setSerializeNull(false);
$context = \JMS\Serializer\SerializationContext::create()->setSerializeNull(false);

$expected = file_get_contents(__DIR__.'/../Fixtures/empty_document_nochildren_without_null_values.xml');
$actual = $this->serializer->serialize($node, 'xml');
$actual = $this->serializer->serialize($node, 'xml', $context);

$this->assertEquals($expected, $actual);
}
Expand Down
Loading

0 comments on commit 24154b7

Please sign in to comment.