/**
*
*/
package org.goko.core.workspace.mapper;
import org.apache.commons.collections.CollectionUtils;
import org.goko.core.common.exception.GkException;
import org.goko.core.workspace.element.GkProject;
import org.goko.core.workspace.io.XmlGkProject;
import org.goko.core.workspace.io.XmlProjectContainer;
import org.goko.core.workspace.service.ILoader;
import org.goko.core.workspace.service.IMapperService;
/**
* @author PsyKo
* @date 10 f�vr. 2016
*/
public class GkProjectLoader implements ILoader<XmlGkProject, GkProject> {
/** (inheritDoc)
* @see org.goko.core.workspace.service.ILoader#load(java.lang.Object, org.goko.core.workspace.service.IMapperService)
*/
@Override
public GkProject load(XmlGkProject input, IMapperService mapperService) throws GkException {
GkProject project = new GkProject();
project.setDirty(false);
if(CollectionUtils.isNotEmpty(input.getProjectContainer())){
for (XmlProjectContainer xmlProjectContainer : input.getProjectContainer()) {
mapperService.load(xmlProjectContainer, XmlProjectContainer.class);
}
}
return project;
}
/** (inheritDoc)
* @see org.goko.core.workspace.service.ILoader#getOutputClass()
*/
@Override
public Class<GkProject> getOutputClass() {
return GkProject.class;
}
/** (inheritDoc)
* @see org.goko.core.workspace.service.ILoader#getInputClass()
*/
@Override
public Class<XmlGkProject> getInputClass() {
return XmlGkProject.class;
}
}