/******************************************************************************* * Copyright (c) 2007 - 2012 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributor: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.common.text.ext.hyperlink.xml; import org.eclipse.core.resources.IFile; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IRegion; import org.jboss.tools.common.text.ext.ExtensionsPlugin; import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink; import org.jboss.tools.common.text.ext.util.Utils; public class IncludeHyperlink extends AbstractHyperlink { private String hyperlinkText = ""; //$NON-NLS-1$ @Override protected void doHyperlink(IRegion region) { if (region == null) return; try { IDocument document = getDocument(); hyperlinkText = document .get(region.getOffset(), region.getLength()); } catch (BadLocationException ex) { ExtensionsPlugin.getPluginLog().logError(ex); } String fileName = Utils.trimQuotes(hyperlinkText); IFile file = getFileFromProject(fileName); if(file != null) openFileInEditor(file); else openFileFailed(); } @Override public String getHyperlinkText() { return hyperlinkText; } }