public function serializeFormErrorToXml(XmlSerializationVisitor $visitor, FormError $formError, array $type) { if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, true); } return $visitor->document->createCDATASection($this->getErrorMessage($formError)); }
/** @HandlerCallback("xml", direction = "serialization") */ public function serializeToXml(XmlSerializationVisitor $visitor) { if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, false); } $visitor->document->appendChild($visitor->document->createElement($this->element, $this->value)); }
public function serializeTime(XmlSerializationVisitor $visitor, \DateTime $date, array $type, Context $context) { $v = $date->format('H:i:s'); if ($date->getTimezone()->getOffset($date) !== $this->defaultTimezone->getOffset($date)) { $v .= $date->format('P'); } return $visitor->visitSimpleString($v, $type, $context); }
/** * @param XmlSerializationVisitor $visitor * @param Comment $comment * @param array $type * @param Context $context */ public function serializeToXml(XmlSerializationVisitor $visitor, Comment $comment, array $type, Context $context) { $data = $this->getCommentData($comment); /** @var PropertyMetadata $metadata */ $metadata = $visitor->getCurrentMetadata(); $metadata->xmlKeyValuePairs = true; $visitor->visitArray($data, $type, $context); }
/** * Serialize the Enum object to xml. * * @param XmlSerializationVisitor $visitor The visitor * @param EnumInterface $data A EnumInterface instance * @param array $type The type parameters * * @return \DOMCdataSection */ public function serializeEnumToXml(XmlSerializationVisitor $visitor, EnumInterface $data, array $type) { if ($visitor->document === null) { $visitor->document = $visitor->createDocument(null, null, true); $visitor->getCurrentNode()->appendChild($node = $visitor->document->createCDATASection($data->getValue())); return $node; } return $visitor->document->createCDATASection($data->getValue()); }
public function simpleListOfToXml(XmlSerializationVisitor $visitor, $object, array $type, Context $context) { $newType = array('name' => $type["params"][0]["name"], 'params' => array()); $ret = array(); foreach ($object as $v) { $ret[] = $context->accept($v, $newType)->data; } return $visitor->getDocument()->createTextNode(implode(" ", $ret)); }
public function serializeToXML(XmlSerializationVisitor $visitor, FormView $formView, array $type, Context $context) { if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, false); $visitor->setCurrentNode($visitor->document->createElement('form')); $visitor->document->appendChild($visitor->getCurrentNode()); } $this->xmlFormViewSerializer->serialize($formView, $visitor->getCurrentNode()); }
public function serializeViolationToXml(XmlSerializationVisitor $visitor, ConstraintViolation $violation, array $type = null) { if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, false); $visitor->document->appendChild($violationNode = $visitor->document->createElement('violation')); $visitor->setCurrentNode($violationNode); } else { $visitor->getCurrentNode()->appendChild($violationNode = $visitor->document->createElement('violation')); } $violationNode->setAttribute('property_path', $violation->getPropertyPath()); $violationNode->appendChild($messageNode = $visitor->document->createElement('message')); $messageNode->appendChild($visitor->document->createCDATASection($violation->getMessage())); }
public function addLinksToXMLSerialization(array $links, XmlSerializationVisitor $visitor) { foreach ($links as $link) { $entryNode = $visitor->getDocument()->createElement('link'); $visitor->getCurrentNode()->appendChild($entryNode); $entryNode->setAttribute('rel', $link->getRel()); $entryNode->setAttribute('href', $link->getHref()); $attributes = $link->getAttributes(); foreach ($attributes as $attributeName => $attributeValue) { $entryNode->setAttribute($attributeName, $attributeValue); } } }
public function serializeDateTime(XmlSerializationVisitor $visitor, OTADateTime $date, array $type, Context $context) { $format = ''; if ($date->getType() & OTADateTime::TYPE_DATE) { $format .= 'Y-m-d'; } if ($date->getType() & OTADateTime::TYPE_DATE && $date->getType() & OTADateTime::TYPE_TIME) { $format .= '\\T'; } if ($date->getType() & OTADateTime::TYPE_TIME) { $format .= 'H:i:s'; } $v = $date->format($format); return $visitor->visitSimpleString($v, $type, $context); }
/** * * @param string $cacheDir * @param string $metadataDir * @param bool $debug */ public function __construct($cacheDir, $metadataDir, $debug = false) { $serializerBuilder = SerializerBuilder::create(); $serializerBuilder->setCacheDir($cacheDir)->setDebug($debug)->addMetadataDir($metadataDir); $propertyNamingStrategy = new SerializedNameAnnotationStrategy(new CamelCaseNamingStrategy()); $serializerBuilder->setPropertyNamingStrategy($propertyNamingStrategy); $serializerBuilder->addDefaultSerializationVisitors(); $serializerBuilder->addDefaultDeserializationVisitors(); $jsonSerializationVisitor = new JsonSerializationVisitor($propertyNamingStrategy); $jsonSerializationVisitor->setOptions(JSON_PRETTY_PRINT); $xmlSerializationVisitor = new XmlSerializationVisitor($propertyNamingStrategy); $xmlSerializationVisitor->setDefaultRootName('config'); $serializerBuilder->setSerializationVisitor('json', $jsonSerializationVisitor); $serializerBuilder->setSerializationVisitor('xml', $xmlSerializationVisitor); $this->serializer = $serializerBuilder->build(); }
private function createLinkNode(LinkMetadata $link, XmlSerializationVisitor $visitor, $object) { $language = new ExpressionLanguage(); $compiledParams = array(); foreach ($link->getParams() as $key => $expr) { $compiledParams[$key] = $language->evaluate($expr, array('object' => $object)); } $linkNode = $visitor->getDocument()->createElement('link'); $linkNode->setAttribute('id', $link->getName()); $linkNode->setAttribute('rel', $link->getEntity()); $linkNode->setAttribute('href', $this->router->generate($link->getRoute(), $compiledParams, true)); return $linkNode; }
/** * @param XmlSerializationVisitor $visitor * @param ExceptionWrapper $wrapper * @param array $type * @param Context $context */ public function serializeToXml(XmlSerializationVisitor $visitor, ExceptionWrapper $wrapper, array $type, Context $context) { $data = $this->convertToArray($wrapper); if (null === $visitor->document) { $visitor->document = $visitor->createDocument(null, null, true); } foreach ($data as $key => $value) { $entryNode = $visitor->document->createElement($key); $visitor->getCurrentNode()->appendChild($entryNode); $visitor->setCurrentNode($entryNode); $node = $context->getNavigator()->accept($value, null, $context); if (null !== $node) { $visitor->getCurrentNode()->appendChild($node); } $visitor->revertCurrentNode(); } }
public function testWithoutFormatedOutputByXmlSerializationVisitor() { $namingStrategy = new SerializedNameAnnotationStrategy(new CamelCaseNamingStrategy()); $xmlVisitor = new XmlSerializationVisitor($namingStrategy); $xmlVisitor->setFormatOutput(false); $visitors = new Map(array('xml' => new XmlSerializationVisitor($namingStrategy))); $serializer = new Serializer($this->factory, $this->handlerRegistry, new UnserializeObjectConstructor(), $visitors, $this->deserializationVisitors, $this->dispatcher); $object = new SimpleClassObject(); $object->foo = 'foo'; $object->bar = 'bar'; $object->moo = 'moo'; $stringXml = $serializer->serialize($object, $this->getFormat()); $this->assertXmlStringEqualsXmlString($this->getContent('simple_class_object_minified'), $stringXml); }
/** * @dataProvider getSerializeDateTime * @param \DateTime $date */ public function testSerializeDateTime(\DateTime $date, $expected) { $this->handler->serializeDateTime($this->visitor, $date, [], $this->context); $this->assertEquals($expected, $this->visitor->getCurrentNode()->nodeValue); }
/** * Normalize wrapper to serialize with xml * Event class name is added * * @param XmlSerializationVisitor $visitor * @param EventContainer $container * @param array $type * @param Context $context */ public function serializeContainerXml(XmlSerializationVisitor $visitor, EventContainer $container, array $type, Context $context) { if (!$visitor->getDocument()) { /** @var ClassMetadata $metadata */ $metadata = $context->getMetadataFactory()->getMetadataForClass(__NAMESPACE__ . '\\EventContainer'); $metadata->xmlRootName = 'event'; $visitor->startVisitingObject($metadata, $container, [], $context); // $visitor->visitArray([], ['name' => 'array'], $context); } $event = $container->getEvent(); $node = $visitor->getCurrentNode(); $node->setAttribute('type', $this->namingStrategy->classToType(get_class($event))); $data = $visitor->getDocument()->createElement('data'); $visitor->getCurrentNode()->appendChild($data); $visitor->setCurrentNode($data); $visitor->getNavigator()->accept($event, null, $context); $visitor->revertCurrentNode(); }
/** * @param mixed $data * @param array $type * @param Context $context * @return mixed|void */ public function visitBoolean($data, array $type, Context $context) { return parent::visitString($data ? '1' : '0', $type, $context); }
/** * @param XmlSerializationVisitor $visitor * @param Money $money */ public function serializeMoneyXml(XmlSerializationVisitor $visitor, Money $money) { /** @var \DOMElement $node */ $node = $visitor->getCurrentNode(); $node->nodeValue = $this->formatter->format($money); }
/** * {@inheritdoc} */ public function serializeEmbedded(array $embeds, XmlSerializationVisitor $visitor, SerializationContext $context) { foreach ($embeds as $embed) { $entryNode = $visitor->getDocument()->createElement($this->getElementName($embed->getData(), $embed)); $visitor->getCurrentNode()->appendChild($entryNode); $visitor->setCurrentNode($entryNode); $visitor->getCurrentNode()->setAttribute('rel', $embed->getRel()); if ($embed->getData() instanceof \Traversable || is_array($embed->getData())) { foreach ($embed->getData() as $entry) { $entryNode = $visitor->getDocument()->createElement($this->getElementName($entry)); $visitor->getCurrentNode()->appendChild($entryNode); $visitor->setCurrentNode($entryNode); if (null !== ($node = $context->accept($entry))) { $visitor->getCurrentNode()->appendChild($node); } $visitor->revertCurrentNode(); } } elseif (null !== ($node = $context->accept($embed->getData()))) { $visitor->getCurrentNode()->appendChild($node); } $visitor->revertCurrentNode(); } }
/** * @param XmlSerializationVisitor $visitor * @param type $entity * @param array $type * @param Context $context * * @return \DOMElement */ public function serializeToXml(XmlSerializationVisitor $visitor, $entity, array $type, Context $context) { $visitor->getCurrentNode()->appendChild($formNode = $visitor->getDocument()->createElement('id', $type['params']['id'])); return $formNode; }
public function serializeAnyType(XmlSerializationVisitor $visitor, $data, array $type, Context $context) { return $visitor->visitNull($data, $type, $context); }
public function serializeToXML(XmlSerializationVisitor $visitor, HalPagerfanta $halPager, array $type, Context $context) { return $visitor->getNavigator()->accept($halPager->getPager(), null, $context); }