/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.content;
import java.util.List;
import org.jdom.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.enonic.cms.core.content.binary.BinaryDataKey;
import com.enonic.cms.store.dao.CategoryDao;
import com.enonic.cms.store.dao.ContentDao;
import com.enonic.cms.store.dao.ContentVersionDao;
import com.enonic.cms.store.dao.GroupDao;
import com.enonic.cms.store.dao.LanguageDao;
import com.enonic.cms.store.dao.UserDao;
@Component
public class ContentParserService
{
@Autowired
private LanguageDao languageDao;
@Autowired
private CategoryDao categoryDao;
@Autowired
private UserDao userDao;
@Autowired
private GroupDao groupDao;
@Autowired
private ContentVersionDao contentVersionDao;
@Autowired
private ContentDao contentDao;
public ContentAndVersion parseContentAndVersion( String contentXml, List<BinaryDataKey> binaryDatas, boolean parseContentData )
{
ContentParser parser = new ContentParser( contentDao, contentVersionDao, categoryDao, groupDao, userDao, languageDao, contentXml );
parser.setBinaryDatas( binaryDatas );
parser.setParseContentData( parseContentData );
return parser.parseContentAndVersion();
}
public ContentAndVersion parseContentAndVersionForPreview( Element contentEl, List<BinaryDataKey> binaryDatas,
boolean parseContentData )
{
ContentParser parser = new ContentParser( contentDao, contentVersionDao, categoryDao, groupDao, userDao, languageDao, null );
parser.setBinaryDatas( binaryDatas );
parser.setParseContentData( parseContentData );
parser.setParseContentCreatedAt( true );
ContentAndVersion contentAndVersion = parser.parseContentAndVersion( contentEl );
ContentEntity content = contentAndVersion.getContent();
ContentVersionEntity version = contentAndVersion.getVersion();
content.setMainVersion( version );
if ( version.isDraft() )
{
content.setDraftVersion( version );
}
return new ContentAndVersion( content, version );
}
}