package io.sloeber.ui.actions;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.osgi.framework.FrameworkUtil;
import io.sloeber.ui.Activator;
import io.sloeber.ui.Messages;
public class LinkCommandHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
org.osgi.framework.Version version = FrameworkUtil.getBundle(getClass()).getVersion();
String url = event.getParameter("io.sloeber.core.link.parameter");//$NON-NLS-1$
url = url.replace("${MAJOR_VERSION}", String.valueOf(version.getMajor())); //$NON-NLS-1$
url = url.replace("${MINOR_VERSION}", String.valueOf(version.getMinor())); //$NON-NLS-1$
url = url.replace("${MICRO_VERSION}", String.valueOf(version.getMinor())); //$NON-NLS-1$
url = url.replace("${QUALIFIER_VERSION}", String.valueOf(version.getMinor())); //$NON-NLS-1$
org.eclipse.swt.program.Program.launch(url);
} catch (IllegalArgumentException e) {
Activator.log(new Status(IStatus.ERROR, Activator.getId(), Messages.json_browser_fail, e));
}
return null;
}
}