Example usage for org.eclipse.jdt.core IJavaElement getResource

List of usage examples for org.eclipse.jdt.core IJavaElement getResource

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement getResource.

Prototype

IResource getResource();

Source Link

Document

Returns the innermost resource enclosing this element.

Usage

From source file:org.springframework.ide.eclipse.core.model.java.JavaModelSourceLocation.java

License:Open Source License

public Resource getResource() {
    try {//from ww w  .ja  v  a 2 s  .  c o  m
        IJavaElement element = JdtUtils.getByHandle(handleIdentifier);
        if (element != null) {
            IResource resource = element.getUnderlyingResource();
            if (resource != null) {
                return new FileResource(resource.getFullPath().toString());
            }
            resource = element.getCorrespondingResource();
            if (resource != null) {
                return new FileResource(resource.getFullPath().toString());
            }
            resource = element.getResource();
            if (resource != null) {
                return new FileResource(resource.getFullPath().toString());
            }
            IPath path = element.getPath();
            if (path != null && path.toFile().exists()) {
                if (path.isAbsolute()) {
                    return new FileSystemResource(path.toFile());
                } else {
                    return new FileResource(path.toString());
                }
            }
        }
    } catch (JavaModelException e) {
    }
    return null;
}

From source file:org.summer.dsl.xbase.ui.jvmmodel.outline.JvmOutlineNodeElementOpener.java

License:Open Source License

@Override
protected void openEObject(EObject state) {
    try {/*w  w  w  . j a v a  2s  .  c om*/
        if (state instanceof JvmIdentifiableElement) {
            IJavaElement javaElement = javaElementFinder.findElementFor((JvmIdentifiableElement) state);
            if (javaElement instanceof IMember) {
                IResource resource = javaElement.getResource();
                if (resource instanceof IStorage) {
                    ITrace traceToSource = traceInformation.getTraceToSource((IStorage) resource);
                    if (traceToSource != null) {
                        ISourceRange sourceRange = ((IMember) javaElement).getSourceRange();
                        ILocationInResource sourceInformation = traceToSource.getBestAssociatedLocation(
                                new TextRegion(sourceRange.getOffset(), sourceRange.getLength()));
                        if (sourceInformation != null) {
                            globalURIEditorOpener.open(sourceInformation.getAbsoluteResourceURI(), javaElement,
                                    true);
                            return;
                        }
                    }
                }
                globalURIEditorOpener.open(null, javaElement, true);
                return;
            }
        }
    } catch (Exception exc) {
        LOG.error("Error opening java editor", exc);
    }
    super.openEObject(state);
}

From source file:org.switchyard.tools.ui.wizards.Java2WSDLWizard.java

License:Open Source License

private void setFilePageDefaultsForJavaElement(IJavaElement javaElement) {
    IResource root;/*from w w  w . j  av  a2 s  .  c  o m*/
    switch (javaElement.getElementType()) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        root = javaElement.getResource();
        break;
    default:
        root = JavaUtil.getFirstResourceRoot(javaElement.getJavaProject());
        if (root == null) {
            root = javaElement.getResource();
            if (root.getType() == IResource.FILE) {
                root = root.getParent();
            }
        }
        break;
    }
    if (root != null) {
        _filePage.setContainerFullPath(root.getFullPath());
    }
    int elementType = javaElement.getElementType();
    if (elementType == IJavaElement.TYPE) {
        _filePage.setFileName(javaElement.getElementName());
    } else if (elementType == IJavaElement.COMPILATION_UNIT) {
        IType primaryType = ((ICompilationUnit) javaElement).findPrimaryType();
        if (primaryType == null) {
            getBaseFileName(javaElement.getElementName());
        } else {
            _filePage.setFileName(primaryType.getElementName());
        }
    }
}

From source file:org.switchyard.tools.ui.wizards.NewWSDLFileWizard.java

License:Open Source License

@Override
public boolean performFinish() {
    if (_filePage != null) {
        _fNewFile = _filePage.createNewFile();
        if (_fNewFile == null) {
            return false;
        }//from w w w. ja  v  a  2 s  .c o m

        String charSet = "UTF-8"; //$NON-NLS-1$
        String wsdlPrefix = "wsdl"; //$NON-NLS-1$
        Vector<?> namespaces = _optionsPage.getNamespaceInfo();

        String prefix = _optionsPage.getPrefix();
        String definitionName = _optionsPage.getDefinitionName();

        URI uri2 = URI.createPlatformResourceURI(_fNewFile.getFullPath().toOSString(), false);
        ResourceSet resourceSet = new ResourceSetImpl();
        WSDLResourceImpl resource = (WSDLResourceImpl) resourceSet.createResource(URI.createURI("*.wsdl")); //$NON-NLS-1$
        resource.setURI(uri2);

        WSDLFactoryImpl factory = new WSDLFactoryImpl();
        DefinitionImpl definition = (DefinitionImpl) factory.createDefinition();
        resource.getContents().add(definition);

        definition.setTargetNamespace(_optionsPage.getTargetNamespace());
        definition.setLocation(_fNewFile.getLocation().toString());
        definition.setEncoding(charSet);
        definition.setQName(new QName(wsdlPrefix, definitionName));
        definition.addNamespace(prefix, _optionsPage.getTargetNamespace());

        for (int i = 0; i < namespaces.size(); i++) {
            NamespaceInfo info = (NamespaceInfo) namespaces.get(i);

            if (info.prefix.length() > 0) {
                definition.addNamespace(info.prefix, info.uri);
            } else {
                definition.addNamespace(null, info.uri);
            }
        }

        definition.updateElement(true);
        try {
            if (_optionsPage.getCreateSkeletonBoolean()) {
                if (_optionsPage.isSoapDocLiteralProtocol()) {
                    CreateWSDLElementHelper.PART_TYPE_OR_DEFINITION = CreateWSDLElementHelper.PART_INFO_ELEMENT_DECLARATION;
                } else {
                    CreateWSDLElementHelper.PART_TYPE_OR_DEFINITION = CreateWSDLElementHelper.PART_INFO_TYPE_DEFINITION;
                }

                CreateWSDLElementHelper.serviceName = definitionName;

                // use protocol name (as opposed to protocol label) in port
                // name
                String protocolName = new String();
                String protocol = _optionsPage.getProtocol();
                ContentGeneratorUIExtensionRegistry registry = WSDLEditorPlugin.getInstance()
                        .getContentGeneratorUIExtensionRegistry();
                ContentGeneratorUIExtension extension = registry.getExtensionForLabel(protocol);
                if (extension != null) {
                    protocolName = extension.getName();
                }
                CreateWSDLElementHelper.portName = definitionName + protocolName;
                createPortType(definitionName, wsdlPrefix, prefix, charSet, factory);

                Service service = CreateWSDLElementHelper.createService(definition);

                // Generate Binding
                Iterator<?> bindingIt = definition.getEBindings().iterator();
                Binding binding = null;
                if (bindingIt.hasNext()) {
                    binding = (Binding) bindingIt.next();
                }

                _generator.setDefinition(definition);
                _generator.setBinding(binding);
                Port port = (Port) service.getEPorts().iterator().next();
                _generator.setName(ComponentReferenceUtil.getName(port.getEBinding()));
                _generator.setRefName(ComponentReferenceUtil.getPortTypeReference(port.getEBinding()));
                _generator.setOverwrite(true);
                _generator.generateBinding();
                _generator.generatePortContent();
            }
            resource.save(null);
        } catch (Exception e) {
            System.out.println("\nCould not write new WSDL file in WSDL Wizard: " + e); //$NON-NLS-1$
        }

        if (getSelection().getFirstElement() instanceof IPackageFragmentRoot) {
            IPackageFragmentRoot root = (IPackageFragmentRoot) getSelection().getFirstElement();
            IResource pkgresource = root.getResource();
            if (pkgresource == null) {
                IJavaElement element = root.getParent();
                pkgresource = element.getResource();
            }
            if (_fNewFile instanceof IFile) {
                pkgresource = ((IFile) _fNewFile).getParent();
            }
            if (pkgresource instanceof IFolder) {
                IFolder folder = (IFolder) pkgresource;
                IFolder parent = (IFolder) folder.getParent();
                _createdFilePath = _fNewFile.getProjectRelativePath()
                        .makeRelativeTo(parent.getProjectRelativePath()).toPortableString();
            }
        } else {
            _createdFilePath = _fNewFile.getProjectRelativePath().toPortableString();
        }

        if (_fOpenEditorWhenFinished) {
            openEditor(_fNewFile);
        }

        return true;
    }
    return false;
}

From source file:pt.org.aguiaj.eclipse.EclipseUtil.java

License:Open Source License

public static void gotoLine(String path, int line) {
    IJavaElement element = null;
    try {//  w w  w  .  ja va  2 s.com
        element = Activator.getProject().findElement(new Path(path));
    } catch (JavaModelException e1) {
        e1.printStackTrace();
    }

    if (element == null)
        return;

    IFile file = (IFile) element.getResource();
    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

    String pers = Activator.getPerspective();
    if (pers == null)
        pers = JavaUI.ID_PERSPECTIVE;

    try {
        PlatformUI.getWorkbench().showPerspective(pers, PlatformUI.getWorkbench().getActiveWorkbenchWindow());
    } catch (WorkbenchException e) {
        e.printStackTrace();
    }

    try {
        IMarker marker = file.createMarker(IMarker.TEXT);
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put(IMarker.LINE_NUMBER, new Integer(line));
        marker.setAttributes(map);
        IDE.openEditor(page, marker);
        marker.delete();
    } catch (CoreException e) {
        e.printStackTrace();
    }
}

From source file:sharpen.core.framework.ASTUtility.java

License:Open Source License

public static String compilationUnitPath(CompilationUnit ast) {
    IJavaElement element = ast.getJavaElement();
    if (null == element)
        return "<unknown>";
    return element.getResource().getFullPath().toPortableString();
}

From source file:tarlog.eclipse.plugins.openwe.TreeSelectionAction.java

License:Apache License

private void handleJavaElement(IJavaElement javaElement) {
    IResource resource = javaElement.getResource();
    if (resource != null) {
        handleResource(resource);//www .  ja v  a2s . com
    } else {
        String path = javaElement.getPath().toOSString();
        doAction(path);
    }
}