package org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.menu.gcodeprovider; import org.goko.core.common.exception.GkException; import org.goko.core.gcode.service.IGCodeProviderRepository; import org.goko.core.log.GkLog; import org.goko.core.workspace.action.AbstractDeleteAction; public class DeleteGCodeProviderAction extends AbstractDeleteAction { /** LOG */ private static final GkLog LOG = GkLog.getLogger(DeleteGCodeProviderAction.class); /** GCode service */ private IGCodeProviderRepository gcodeProviderRepository; public DeleteGCodeProviderAction(IGCodeProviderRepository gcodeProviderRepository, Integer idTarget) { super(idTarget); this.gcodeProviderRepository = gcodeProviderRepository; } /** (inheritDoc) * @see org.goko.gcode.rs274ngcv3.ui.workspace.uiprovider.menu.AbstractDeleteAction#deleteById(java.lang.Integer) */ @Override protected void deleteById(Integer id) throws GkException { gcodeProviderRepository.deleteGCodeProvider(id); } /** (inheritDoc) * @see org.eclipse.jface.action.Action#isEnabled() */ @Override public boolean isEnabled() { boolean locked = true; try { locked = gcodeProviderRepository.getGCodeProvider(getIdTarget()).isLocked(); } catch (GkException e) { LOG.error(e); } return !locked; } }