Class XmlContentImporter
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.plugins.webcontentio.xml.XmlContentImporter
-
- All Implemented Interfaces:
ContentImporter,LogEnabled,Serviceable
public class XmlContentImporter extends AbstractLogEnabled implements ContentImporter, Serviceable
Default XML content importer
-
-
Field Summary
Fields Modifier and Type Field Description private ContentTypeExtensionPoint_contentTypeExtensionPointprivate DOMParser_domParserprivate XPathProcessor_xPathProcessor
-
Constructor Summary
Constructors Constructor Description XmlContentImporter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private <T> Optional<T>_getSingleAttributeValue(Node valueNode, ElementType<T> type)private Optional<Binary>_getSingleBinaryAttributeValue(Node binaryNode)private <T> Optional<T>_getSingleDefaultAttributeValue(Node valueNode, ElementType<T> type)private Optional<Geocode>_getSingleGeocodeAttributeValue(Node geocodeNode, ElementType<Geocode> type)private Optional<RichText>_getSingleRichTextAttributeValue(Node richTextNode)private void_importAttribute(ModifiableModelAwareDataHolder dataHolder, ModelItem attributeDefinition, Node attributeNode)private void_importAttributes(ModifiableWebContent content, Node xmlContent)private String_serializeNode(Node node)private <T> void_setAttribute(ModifiableModelAwareDataHolder dataHolder, ElementDefinition<T> attributeDefinition, Node attributeNode)private void_setComposite(ModifiableModelAwareDataHolder dataHolder, CompositeDefinition compositeDefinition, Node compositeNode)private void_setRepeater(ModifiableModelAwareDataHolder dataHolder, RepeaterDefinition repeaterDefinition, Node repeaterNode)String[]getMimeTypes()Returns all mime types handled by this importer.private DocumentgetXmlDocFromFile(File file)voidimportContent(File file, ModifiableWebContent content, Map<String,String> params)Extracts file content and populates the givenContent.voidpostTreatment(ModifiablePage page, Content content, File file)Post treatment after import processvoidservice(ServiceManager manager)-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
-
-
-
Field Detail
-
_domParser
private DOMParser _domParser
-
_xPathProcessor
private XPathProcessor _xPathProcessor
-
_contentTypeExtensionPoint
private ContentTypeExtensionPoint _contentTypeExtensionPoint
-
-
Constructor Detail
-
XmlContentImporter
public XmlContentImporter()
-
-
Method Detail
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
importContent
public void importContent(File file, ModifiableWebContent content, Map<String,String> params) throws IOException
Description copied from interface:ContentImporterExtracts file content and populates the givenContent. Typical usage is to provide a newly created empty Content.- Specified by:
importContentin interfaceContentImporter- Parameters:
file- the source.content- theContentto be populated.params- in/out params to set and get additional data to and from the importer.- Throws:
IOException- if an error occurs processing the stream.
-
getMimeTypes
public String[] getMimeTypes()
Description copied from interface:ContentImporterReturns all mime types handled by this importer.- Specified by:
getMimeTypesin interfaceContentImporter- Returns:
- all mime types handled by this importer.
-
postTreatment
public void postTreatment(ModifiablePage page, Content content, File file) throws IOException
Description copied from interface:ContentImporterPost treatment after import process- Specified by:
postTreatmentin interfaceContentImporter- Parameters:
page- The created pagecontent- The created contentfile- The imported file- Throws:
IOException- if an error occurred
-
getXmlDocFromFile
private Document getXmlDocFromFile(File file) throws FileNotFoundException, UnsupportedEncodingException, IOException
-
_importAttributes
private void _importAttributes(ModifiableWebContent content, Node xmlContent) throws IOException
- Throws:
IOException
-
_importAttribute
private void _importAttribute(ModifiableModelAwareDataHolder dataHolder, ModelItem attributeDefinition, Node attributeNode) throws IOException
- Throws:
IOException
-
_setRepeater
private void _setRepeater(ModifiableModelAwareDataHolder dataHolder, RepeaterDefinition repeaterDefinition, Node repeaterNode) throws IOException
- Throws:
IOException
-
_setComposite
private void _setComposite(ModifiableModelAwareDataHolder dataHolder, CompositeDefinition compositeDefinition, Node compositeNode) throws IOException
- Throws:
IOException
-
_setAttribute
private <T> void _setAttribute(ModifiableModelAwareDataHolder dataHolder, ElementDefinition<T> attributeDefinition, Node attributeNode) throws IOException
- Throws:
IOException
-
_getSingleAttributeValue
private <T> Optional<T> _getSingleAttributeValue(Node valueNode, ElementType<T> type) throws IOException
- Throws:
IOException
-
_getSingleGeocodeAttributeValue
private Optional<Geocode> _getSingleGeocodeAttributeValue(Node geocodeNode, ElementType<Geocode> type)
-
_getSingleBinaryAttributeValue
private Optional<Binary> _getSingleBinaryAttributeValue(Node binaryNode)
-
_getSingleRichTextAttributeValue
private Optional<RichText> _getSingleRichTextAttributeValue(Node richTextNode) throws IOException
- Throws:
IOException
-
_serializeNode
private String _serializeNode(Node node) throws TransformerException
- Throws:
TransformerException
-
_getSingleDefaultAttributeValue
private <T> Optional<T> _getSingleDefaultAttributeValue(Node valueNode, ElementType<T> type)
-
-