Example usage for org.eclipse.jdt.core IJavaProject exists

List of usage examples for org.eclipse.jdt.core IJavaProject exists

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject exists.

Prototype

boolean exists();

Source Link

Document

Returns whether this Java element exists in the model.

Usage

From source file:org.eclipse.e4.tools.ui.designer.session.JavaHelper.java

License:Open Source License

/**
 * This will return the set of output folders name for the given project.
 * <p>// w w  w . j av a2 s. c  om
 * For example, if a project has a source folder "src" with its output
 * folder set as "bin" and a source folder "src-gen" with its output folder
 * set as "bin-gen", this will return a LinkedHashSet containing both "bin"
 * and "bin-gen".
 * </p>
 * 
 * @param project
 *            The project we seek the output folders of.
 * @return The set of output folders name for the given (java) project.
 */
public static List<String> getStringOutputFolders(IJavaProject project) throws CoreException {
    List<String> folders = new UniqueEList<String>();
    if (project.exists() == false) {
        return folders;
    }
    List<IFolder> innerFolders = getOutputFolders(project);
    for (IFolder folder : innerFolders) {
        folders.add(folder.getFullPath().removeFirstSegments(1).toString());
    }
    folders.add(project.getOutputLocation().removeFirstSegments(1).toString());
    return folders;
}

From source file:org.eclipse.e4.tools.ui.designer.session.JavaHelper.java

License:Open Source License

/**
 * Get source folders.<br>//  w w  w  . j  a va  2 s  .co  m
 * 
 * @param project
 * @return a List of IFolders
 */
public static List<IFolder> getSourceFolders(IJavaProject project) throws CoreException {
    List<IFolder> folders = new UniqueEList<IFolder>();
    if (project == null || project.exists() == false) {
        return folders;
    }
    // Lookup in source folders
    for (IClasspathEntry entry : project.getResolvedClasspath(true)) {
        if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
            IFolder innerFolder = findFolder(entry.getPath());
            if (innerFolder != null) {
                folders.add(innerFolder);
            }
        }
    }
    return folders;
}

From source file:org.eclipse.e4.tools.ui.designer.utils.ClassLoaderHelper.java

License:Open Source License

public static URL getResourceAsURL(IProject project, String name) {
    if (name.startsWith(PLATFORM_PLUGIN)) {
        name = name.substring(PLATFORM_PLUGIN.length()).trim();
    }//from  w  w w . j  a  v  a 2s. com
    if (name == null || name.length() == 0) {
        return null;
    }
    if (name.charAt(0) != '/') {
        int index = name.indexOf('/');
        if (index != -1) {
            String projectName = name.substring(0, index);
            IProject rootProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
            if (rootProject != null && rootProject.exists()) {
                project = rootProject;
                name = name.substring(index + 1);
            }
        }
    }
    if (project != null) {
        IJavaProject javaProject = JavaCore.create(project);
        if (javaProject != null && javaProject.exists() && javaProject.isOpen()) {
            return getResourceAsURL(javaProject, name);
        }
    }
    return null;
}

From source file:org.eclipse.e4.tools.ui.designer.utils.ClassLoaderHelper.java

License:Open Source License

public static byte[] getClassContent(IJavaProject javaProject, String name) {
    if (javaProject == null || !javaProject.exists())
        return null;
    if (name.startsWith(PLATFORM_PLUGIN)) {
        name = name.substring(PLATFORM_PLUGIN.length()).trim();
    }//from   w  w w.j  a  v  a 2s .  c o  m
    if (name == null || name.length() == 0) {
        return null;
    }
    if (name.charAt(0) != '/') {
        int index = name.indexOf('/');
        if (index != -1) {
            String projectName = name.substring(0, index);
            IProject rootProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
            if (rootProject != null && rootProject.exists()) {
                javaProject = JavaCore.create(rootProject);
                name = name.substring(index + 1);
            }
        }
    }
    if (javaProject != null && javaProject.exists() && javaProject.isOpen()) {
        return doGetClassContent(javaProject, name);
    }
    return null;
}

From source file:org.eclipse.e4.tools.ui.designer.utils.ClassLoaderHelper.java

License:Open Source License

public static byte[] doGetClassContent(IJavaProject javaProject, String className) {
    if (javaProject == null || !javaProject.exists())
        return null;

    String resourceName = className.replace('.', '/') + ".class";
    try {//from  www  . j  a va 2  s . c o m
        IPath outPath = javaProject.getProject().getLocation().removeLastSegments(1)
                .append(javaProject.getOutputLocation());
        outPath = outPath.addTrailingSeparator();
        {
            URL url = toURL(outPath.append(resourceName));
            if (url != null) {
                InputStream inputStream = url.openStream();
                byte[] content = new byte[inputStream.available()];
                inputStream.read(content);
                return content;
            }
            for (IProject project : javaProject.getProject().getReferencedProjects()) {
                if (!project.isOpen()) {
                    continue;
                }
                IJavaProject javaReferencedProject = JavaCore.create(project);
                if (javaReferencedProject.exists()) {
                    byte[] content = getClassContent(javaReferencedProject, className);
                    if (content != null) {
                        return content;
                    }
                }
            }
        }
        IType type = javaProject.findType(className);
        if (type != null && type.exists()) {
            if (type.isBinary()) {
                return type.getClassFile().getBytes();
            } else {
                IJavaProject typeProject = type.getJavaProject();
                if (!javaProject.equals(typeProject)) {
                    return getClassContent(typeProject, className);
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

From source file:org.eclipse.e4.xwt.tools.ui.designer.editor.XWTDesigner.java

License:Open Source License

protected IJavaProject getJavaProject() {
    IFile file = (IFile) getEditorInput().getAdapter(IFile.class);
    IJavaProject javaProject = JavaCore.create(file.getProject());
    if (!javaProject.exists()) {
        return null;
    }//from  w w  w .  ja va2  s .c  om
    return javaProject;
}

From source file:org.eclipse.e4.xwt.tools.ui.designer.loader.XWTVisualLoader.java

License:Open Source License

public XWTVisualLoader(IFile file) {
    if (file != null && file.exists()) {
        IJavaProject project = JavaCore.create(file.getProject());
        if (project != null && project.exists()) {
            ProjectContext context = ProjectContext.getContext(project);
            setLoadingContext(context);/*from ww w. ja  va2 s.  c o m*/
        }
        this.file = file;
    }
}

From source file:org.eclipse.e4.xwt.ui.editor.render.XWTRender.java

License:Open Source License

public boolean updateView(String code, IFile file) {
    if (shell != null) {
        shell.dispose();/*ww w  .  ja  va 2 s  .  c  om*/
    }
    Control control = Display.getCurrent().getFocusControl();
    try {
        IJavaProject javaProject = JavaCore.create(file.getProject());
        if (!javaProject.exists()) {
            return false;
        }

        if (projectContext != null) {
            projectContext.removePropertyChangeListener(changeListener);
        }

        projectContext = ProjectContext.getContext(javaProject);
        XWT.setLoadingContext(projectContext);
        Object rootElement;
        try {
            ByteArrayInputStream inputStream = new ByteArrayInputStream(code.getBytes());
            rootElement = XWT.loadWithOptions(inputStream, file.getLocationURI().toURL(), options);
        } catch (Exception e) {
            return false;
        }

        if (rootElement != null) {
            Rectangle rectangle = new Rectangle(0, 0, 0, 0);
            for (Monitor monitor : Display.getDefault().getMonitors()) {
                Rectangle bounds = monitor.getBounds();
                rectangle = rectangle.union(bounds);
            }

            shell = XWT.findShell(rootElement);
            if (shell == null) {
                throw new XWTException("Root element is a control.");
            }
            shell.setFocus();
            //            shell.pack();
            shell.setLocation(rectangle.x + rectangle.width + 200, rectangle.y + rectangle.height + 200);
            shell.open();

            Object hostClr = XWT.getCLR(rootElement);
            if (hostClr != null) {
                hostClassName = hostClr.getClass().getName();
            }

            final List<Browser> browsers = new ArrayList<Browser>();
            findBrowser(rootElement, browsers);
            if (!browsers.isEmpty()) {
                /* Fixed the bug of browser: 1. Captured the image from browser after document loading finished. 2. Closed the parent shell when all documents loading finished. */
                time = 0;
                final int total = browsers.size();
                ProgressListener listener = new ProgressListener() {
                    public void changed(ProgressEvent event) {
                        if (canvasManager == null || shell == null || shell.isDisposed()) {
                            return;
                        }
                        Image image = ImageCapture.getImageCapture().captureImage(shell);
                        canvasManager.setImage(image);
                    }

                    public void completed(ProgressEvent event) {
                        if (canvasManager == null || shell == null || shell.isDisposed()) {
                            return;
                        }
                        Image image = ImageCapture.getImageCapture().captureImage(shell);
                        canvasManager.setImage(image);
                        time++;
                        if (time == total) {
                            shell.close();
                        }
                    }
                };
                for (Browser browser : browsers) {
                    browser.addProgressListener(listener);
                }
            } else if (shell != null && !shell.isDisposed()) {
                Image image = ImageCapture.getImageCapture().defaultCapture(shell);
                canvasManager.setImage(image);
                shell.close();
            }

            projectContext.addPropertyChangeListener(changeListener);
        }
    } finally {
        if (control != null) {
            control.setFocus();
        }
    }
    return true;
}

From source file:org.eclipse.e4.xwt.ui.editor.XWTEditor.java

License:Open Source License

void handlePreview() {
    IFile file = (IFile) getEditorInput().getAdapter(IFile.class);
    IJavaProject javaProject = JavaCore.create(file.getProject());
    if (!javaProject.exists()) {
        return;// w  ww  .ja  va  2  s . c  o  m
    }
    try {
        XWT.setLoadingContext(ProjectContext.getContext(javaProject));
        DisplayUtil.open(file);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.e4.xwt.ui.editor.XWTEditor.java

License:Open Source License

protected IJavaProject getJavaProject() {
    IFile file = (IFile) getEditorInput().getAdapter(IFile.class);

    IJavaProject javaProject = JavaCore.create(file.getProject());
    if (!javaProject.exists()) {
        return null;
    }/*w ww. j a  v  a2s .  c o m*/
    return javaProject;
}