/** * */ package org.goko.tools.macro.io.loader; import org.goko.core.common.exception.GkException; import org.goko.core.gcode.element.IGCodeProviderSource; import org.goko.core.workspace.service.ILoader; import org.goko.core.workspace.service.IMapperService; import org.goko.tools.macro.bean.GCodeMacro; import org.goko.tools.macro.io.bean.XmlGCodeMacro; /** * @author Psyko * @date 16 oct. 2016 */ public class XmlGCodeMacroLoader implements ILoader<XmlGCodeMacro, GCodeMacro>{ /** * */ public XmlGCodeMacroLoader() { System.out.println("");// TODO Auto-generated constructor stub } /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#load(java.lang.Object, org.goko.core.workspace.service.IMapperService) */ @Override public GCodeMacro load(XmlGCodeMacro input, IMapperService mapperService) throws GkException { GCodeMacro macro = new GCodeMacro(); macro.setCode(input.getCode()); macro.setRequestConfirmBeforeExecution(input.isRequestConfirmation()); macro.setShowInMacroPanel(input.isShowInPanel()); if(input.getButtonColor() != null){ macro.setButtonColor( input.getButtonColor().getColor()); } if(input.getTextColor() != null){ macro.setTextColor( input.getTextColor().getColor()); } IGCodeProviderSource source = mapperService.load(input.getGcodeContent(), IGCodeProviderSource.class); macro.setContent(source); return macro; } /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#getOutputClass() */ @Override public Class<GCodeMacro> getOutputClass() { return GCodeMacro.class; } /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#getInputClass() */ @Override public Class<XmlGCodeMacro> getInputClass() { return XmlGCodeMacro.class; } }