Class FillSqlTableComponent
java.lang.Object
org.ametys.runtime.plugin.component.AbstractLogEnabled
org.ametys.plugins.contentio.export.sql.FillSqlTableComponent
- All Implemented Interfaces:
LogEnabled,Component,Serviceable
Fill sql table component
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ContentTypeExtensionPointContent type extension point.The configured list of content types to export associated to the SQL table name to useprotected I18nUtilsThe i18n translator.protected LanguagesManagerThe language managerprotected NormalizeNameComponentThe normalise name component.protected AmetysObjectResolverThe ametys object resolver.protected UserManagerThe user managerstatic final StringThe component role -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidfillAdditionalData(ExportCounter fillIndex, Content content, PreparedStatement stmt) Add additional values for content (Title, type, language, creator, creationDate, ...)protected voidfillColumnForRichTextData(RichText richText, String attributeName, String contentId) Fill column for data in rich textvoidfillTable(ExportConfiguration exportConfiguration, Map<String, ExportTableInfo> tableInfo) Fill table with contentsprotected voidfillTableForContentType(String contentTypeId) Fill values from JCR request with specific content typeprotected voidfillTableForMultipleAttribute(ElementDefinition definition, ModelAwareDataHolder dataHolder, String name, String tableName, String id) Fill values from multiple attributeprotected voidfillTableForRepeater(RepeaterDefinition definition, ModelAwareRepeater repeater, String tableName, String id) Fill values from a repeaterprotected voidfillValue(ExportCounter fillIndex, ElementDefinition definition, ModelAwareDataHolder dataHolder, String name, String id, PreparedStatement stmt) Fill values from an attributeprotected voidfillValues(ExportCounter fillIndex, ModelItemContainer modelItemContainer, ModelAwareDataHolder dataHolder, String tableName, String columnNamePrefix, String id, PreparedStatement stmt) Fill values from a composite metadataprotected PreparedStatementgetInsertPreparedStatementFromTableName(String prefix, String tableName, String mappingPolicy) Prepare INSERT statementprotected StringgetTableName(String cTypeId) Get the name of SQL table for given content typeprotected voidFill the SQL tables with values from JCRvoidservice(ServiceManager manager) Methods inherited from class org.ametys.runtime.plugin.component.AbstractLogEnabled
getLogger, setLogger
-
Field Details
-
ROLE
The component role -
_contentTypeExtensionPoint
Content type extension point. -
_resolver
The ametys object resolver. -
_normalizeNameComponent
The normalise name component. -
_contentTypesToExport
The configured list of content types to export associated to the SQL table name to use -
_i18nTranslator
The i18n translator. -
_languageManager
The language manager -
_userManager
The user manager
-
-
Constructor Details
-
FillSqlTableComponent
public FillSqlTableComponent()
-
-
Method Details
-
service
- Specified by:
servicein interfaceServiceable- Throws:
ServiceException
-
fillTable
public void fillTable(ExportConfiguration exportConfiguration, Map<String, ExportTableInfo> tableInfo) throws SQLException, AmetysRepositoryException, IOExceptionFill table with contents- Parameters:
exportConfiguration- the content export configurationtableInfo- the map of table information- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurredIOException- if an IO error occurred
-
insertValues
Fill the SQL tables with values from JCR- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurredIOException- if an IO error occurred
-
fillTableForContentType
protected void fillTableForContentType(String contentTypeId) throws SQLException, AmetysRepositoryException, IOException Fill values from JCR request with specific content type- Parameters:
contentTypeId- the content type id- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurredIOException- if an IO error occurred
-
fillValues
protected void fillValues(ExportCounter fillIndex, ModelItemContainer modelItemContainer, ModelAwareDataHolder dataHolder, String tableName, String columnNamePrefix, String id, PreparedStatement stmt) throws SQLException, AmetysRepositoryException, IOException Fill values from a composite metadata- Parameters:
fillIndex- the position indicator in the insert statementmodelItemContainer- the attribute definitionsdataHolder- theModelAwareDataHoldertableName- the table namecolumnNamePrefix- the column name prefixid- the content idstmt- the jdbc statement- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurredIOException- if an IO error occurred
-
fillTableForRepeater
protected void fillTableForRepeater(RepeaterDefinition definition, ModelAwareRepeater repeater, String tableName, String id) throws SQLException, AmetysRepositoryException, IOException Fill values from a repeater- Parameters:
definition- the repeater definitionrepeater- the repeatertableName- the table nameid- the content id- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurredIOException- if an IO error occurred
-
fillTableForMultipleAttribute
protected void fillTableForMultipleAttribute(ElementDefinition definition, ModelAwareDataHolder dataHolder, String name, String tableName, String id) throws SQLException, AmetysRepositoryException, IOException Fill values from multiple attribute- Parameters:
definition- the attribute definitiondataHolder- theModelAwareDataHoldername- the attribute nametableName- the table nameid- the content id- Throws:
SQLException- if a sql error occurredIOException- if an IO error occurredAmetysRepositoryException- if an ametys repository error occurred
-
fillValue
protected void fillValue(ExportCounter fillIndex, ElementDefinition definition, ModelAwareDataHolder dataHolder, String name, String id, PreparedStatement stmt) throws SQLException, AmetysRepositoryException, IOException Fill values from an attribute- Parameters:
fillIndex- the position indicator in the insert statementdefinition- the metadata definition modeldataHolder- theModelAwareDataHoldername- the attribute nameid- the content idstmt- the jdbc statement- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurredIOException- if an IO error occurred
-
fillAdditionalData
protected void fillAdditionalData(ExportCounter fillIndex, Content content, PreparedStatement stmt) throws AmetysRepositoryException, SQLException Add additional values for content (Title, type, language, creator, creationDate, ...)- Parameters:
fillIndex- the position indicator in the insert statementcontent- the contentstmt- the jdbc statement- Throws:
SQLException- if a sql error occurredAmetysRepositoryException- if an ametys repository error occurred
-
fillColumnForRichTextData
protected void fillColumnForRichTextData(RichText richText, String attributeName, String contentId) throws AmetysRepositoryException, SQLException, IOException Fill column for data in rich text- Parameters:
richText- the rich textattributeName- the metadata namecontentId- the content id- Throws:
AmetysRepositoryException- if an error occurredSQLException- if a sql error occurredIOException- if an IO error occurred
-
getInsertPreparedStatementFromTableName
protected PreparedStatement getInsertPreparedStatementFromTableName(String prefix, String tableName, String mappingPolicy) throws SQLException Prepare INSERT statement- Parameters:
prefix- the table prefixtableName- the table namemappingPolicy- the mapping policy- Returns:
- the INSERT preparedStatement
- Throws:
SQLException- if a sql error occurred
-
getTableName
Get the name of SQL table for given content type- Parameters:
cTypeId- The id of content type- Returns:
- the name of SQL table or null if not found
-