/** * */ package org.goko.core.execution.monitor.io.loader; import org.goko.core.common.exception.GkException; import org.goko.core.execution.monitor.io.bean.XmlExecutionToken; import org.goko.core.gcode.element.GCodeProviderReference; import org.goko.core.gcode.execution.ExecutionToken; import org.goko.core.gcode.execution.ExecutionTokenState; import org.goko.core.workspace.service.ILoader; import org.goko.core.workspace.service.IMapperService; /** * @author Psyko * @date 23 nov. 2016 */ public class XmlExecutionTokenLoader implements ILoader<XmlExecutionToken, ExecutionToken>{ /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#load(java.lang.Object, org.goko.core.workspace.service.IMapperService) */ @Override public ExecutionToken load(XmlExecutionToken input, IMapperService mapperService) throws GkException { GCodeProviderReference providerReference = mapperService.load(input.getProviderReference(), GCodeProviderReference.class); ExecutionToken token = null; if(providerReference.isValid()){ token = new ExecutionToken<ExecutionTokenState>(providerReference, ExecutionTokenState.NONE); token.setExecutionOrder(input.getExecutionOrder()); } return token; } /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#getOutputClass() */ @Override public Class<ExecutionToken> getOutputClass() { return ExecutionToken.class; } /** (inheritDoc) * @see org.goko.core.workspace.service.ILoader#getInputClass() */ @Override public Class<XmlExecutionToken> getInputClass() { return XmlExecutionToken.class; } }