package org.kie.eclipse.navigator.view.actions.repository; import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.swt.widgets.Display; import org.kie.eclipse.navigator.view.actions.KieNavigatorAction; import org.kie.eclipse.navigator.view.content.IContainerNode; import org.kie.eclipse.navigator.view.content.RepositoryNode; import org.kie.eclipse.navigator.view.utils.ActionUtils; import org.kie.eclipse.server.KieRepositoryHandler; public class ImportRepositoryAction extends KieNavigatorAction { protected ImportRepositoryAction(ISelectionProvider provider, String text) { super(provider, text); } public ImportRepositoryAction(ISelectionProvider selectionProvider) { this(selectionProvider, "Import Repository"); } @Override public boolean isEnabled() { IContainerNode<?> container = getContainer(); if (container instanceof RepositoryNode) { KieRepositoryHandler handler = (KieRepositoryHandler) ((RepositoryNode) container).getHandler(); if (handler == null || !handler.isLoaded()) return true; } return false; } @Override public String getToolTipText() { return "Clone this Git Repository from the remote server"; } public void run() { final RepositoryNode container = (RepositoryNode) getContainer(); if (container==null) return; try { ActionUtils.importRepository(this, container); container.refresh(); } catch (Exception e) { e.printStackTrace(); } } }